Php SQL语句切换值而不插入数据库

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

我正在通过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));

    ?>
在查看错误日志时,我发现奇怪的是,在我的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; --