Php MySql查询在查询中使用时向变量添加数字1?

Php MySql查询在查询中使用时向变量添加数字1?,php,mysql,html,Php,Mysql,Html,希望您能帮助我创建一个简单的查询,根据不同的用户id更新位置x和y等。但是当我将要更新的变量(通过ajax)传递给PHP时,我遇到了一个问题,我得到了该变量,但在将其放入查询时,在查询端添加了一个数字1,使得最后一个id不可用(参见示例ID68变为681) 以前从未见过这个,我对SQLTHO比较陌生,希望有人能对此有所了解 $xupdate = $_POST['xupdate']; $yupdate = $_POST['yupdate']; $stickytext_id = $_POST['st

希望您能帮助我创建一个简单的查询,根据不同的用户id更新位置x和y等。但是当我将要更新的变量(通过ajax)传递给PHP时,我遇到了一个问题,我得到了该变量,但在将其放入查询时,在查询端添加了一个数字1,使得最后一个id不可用(参见示例ID68变为681)

以前从未见过这个,我对SQLTHO比较陌生,希望有人能对此有所了解

$xupdate = $_POST['xupdate'];
$yupdate = $_POST['yupdate'];
$stickytext_id = $_POST['stickytextid'];
$user_id= $_POST['uid'];
$proj_id=$_POST['projid'];



echo $xupdate; //output 358
echo'<br>';
echo $yupdate; //output 203
echo'<br>';
echo $stickytext_id; //output 68
echo'<br>';
echo $proj_id; //output 7
echo'<br>';

$sql_update_stickyxy="UPDATE textsticky SET textsticky_x = $xupdate AND textsticky_y = $yupdate
                      WHERE textsticky_id = $stickytext_id";

echo $sql_update_stickyxy; //outputs UPDATE textsticky SET textsticky_x = 358 WHERE textsticky_id = 681 not 68?
$xupdate=$\u POST['xupdate'];
$yupdate=$_POST['yupdate'];
$stickytext_id=$_POST['stickytextid'];
$user\u id=$\u POST['uid'];
$proj_id=$_POST['projid'];
echo$xupdate//产出358
回声“
”; echo$yupdate//产出203 回声“
”; echo$stickytext_id//产出68 回声“
”; echo$proj_id//产出7 回声“
”; $sql\u update\u stickyxy=“update textsticky SET textsticky\u x=$xupdate和textsticky\u y=$yupdate 其中textStickyText\u id=$stickytext\u id”; echo$sql\u update\u stickyxy//输出更新textsticky SET textsticky_x=358,其中textsticky_id=681不是68?
查看echo的输出,您显然盗用了一些代码。作为第一个调试度量,您可以在查询中使用$\u POST['stickytextid',而不是$stickytext\u id,然后查看它的作用。

您的代码看起来很好,如下所示。您忘记包含用户id!!!请关闭/结束您的$sql。。。用“;”。您确定没有其他代码可以添加“1”吗。这也可能是某种回报;或者您稍后在$sql上执行的另一个关注点。=…您是否有另一个echo语句,或者在此代码之后有一个
?>1
?您的代码(以及XSS)中有sql注入漏洞,并且可能会出现语法错误,因为您没有引用VAR。(它们将轰炸非数字数据)。使用
分隔要更新的字段。使用
不会产生解析错误,但您的查询及其结果将是错误的。可能与我的isset()检查有关-只是将代码移动到新文件,输出是正确的。我听说isset不是最好的检查方法,因为设置了$U POST。你们有什么好办法吗?