我正在通过 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 的值,应该交换这些值。
这很奇怪还是我忽略了一些显而易见的事情?
最佳答案
查看您的 AJAX 调用:
"uID="+reqID+"&uName="+reqName+"&fName="+frID+"&fID="+frName,
这确实看起来好像 fID
会携带 frName
,而 fname
将携带 frID
!
旁注:您肯定会欣赏类似的 fName
',1); DROP TABLE friends; --
会很有趣吗?
关于php - SQL语句切换值并且不插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12361630/