Php SQL语句切换值而不插入数据库
我正在通过ajax调用运行此php脚本:Php SQL语句切换值而不插入数据库,php,mysql,sql,Php,Mysql,Sql,我正在通过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="+re
<?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));
?>
在查看错误日志时,我发现奇怪的是,在我的php中,它似乎在某个地方切换fname和fID的值,这些值应该交换
这是不是有点古怪,还是我看得太明显了?看看你的AJAX调用:
"uID="+reqID+"&uName="+reqName+"&fName="+frID+"&fID="+frName,
这看起来确实像是fID
将携带frName
,而fname
将携带frID
顺便说一句:你肯定很感激,fName
的
',1); DROP TABLE friends; --
会很有趣吗?谢谢你的帮助,我已经看了很长时间了,看起来我只需要第二双眼睛。是的,我将添加:real_escape_string for some security:-)抱歉,伙计们,一点也不:这是AJAX调用中的一个简单参数混淆。安全问题与此无关-当然,这并不是说它不那么重要。我不认为有理由否决对一个确切副本的投票,我不可能发现搜索我的问题…那么我们只能希望这个问题因过于本地化或所有者撤回而关闭。
',1); DROP TABLE friends; --