私は ajax 呼び出しからこの php スクリプトを実行しています:
<?php
require_once('myConnectDB.inc.php');
//add beer to database code
$uID = $_GET['uID'];
$uName = $_GET['uName'];
$fID = $_GET['fID'];
$fName = $_GET['fName'];
//data from ajax call: "uID="+reqID+"&uName="+reqName+"&fName="+frID+"&fID="+frName,
//add above data to database
$db = new myConnectDB();
error_log("Successfully created DB");
error_log("uid" . $uID);
error_log("uName" . $uName);
error_log("fID" . $fID);
error_log("fName" . $fName);
$query3 = "INSERT INTO friends (userID,userName, friendID, friendName, friend) VALUES ($uID, '$uName' , $fID , '$fName' , 1 )";
$result = $db->query($query3);
error_log("Ran query [$query3] and got result: " . print_r($result, true));
?>
error_log を挿入して、クエリがデータベースに挿入されなかった理由を突き止めました。これが私のログの出力です:
[10-Sep-2012 20:36:54] Successfully created DB
[10-Sep-2012 20:36:54] uid6
[10-Sep-2012 20:36:54] uNametest
[10-Sep-2012 20:36:54] fIDmike
[10-Sep-2012 20:36:54] fName3
[10-Sep-2012 20:36:54] Ran query [INSERT INTO friends (userID,userName, friendID, friendName, friend) VALUES (6, 'test' , mike , '3' , 1 )] and got result:
ここでエラーログを見ているときに奇妙なことに気付いたのは、私のphpのどこかでfnameとfIDの値を切り替えているようで、そこで値を交換する必要があるということです。
これは厄介ですか、それとも私は何か明白なことを見過ごしていますか?