0

私は 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の値を切り替えているようで、そこで値を交換する必要があるということです。

これは厄介ですか、それとも私は何か明白なことを見過ごしていますか?

4

1 に答える 1

1

AJAX 呼び出しを見てください。

"uID="+reqID+"&uName="+reqName+"&fName="+frID+"&fID="+frName,

これは確かに、あたかも運ぶように見えますが、運ぶfIDでしょう!frNamefnamefrID

fName余談ですが、次のようなことを感謝します

',1); DROP TABLE friends; -- 

かなり面白いでしょう?

于 2012-09-11T01:44:33.420 に答える