尽管弹出错误消息,我的php代码仍然成功执行。代码从我的一个表中删除一行,但显示以下错误消息:
错误:您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第1行的“1”附近使用正确的语法
我的php代码如下:
<?php
$id = $_GET['meeting_id'];
$username = $_GET['username'];
$result = mysql_query("DELETE FROM attendees WHERE meeting_id = '$id' AND username = '$username'")
or die(mysql_error());
if (!mysql_query($result))
{
die('Error: ' . mysql_error());
}
else
{
echo '<h2>The User Has Been Removed From The Meeting</h2>';
}
?>
有人能在这看到解决方案吗? 感谢
答案 0 :(得分:11)
您正在运行mysql_query()
两次;一次(正确)查询和第二次
if (!mysql_query($result))
使用上一个查询的结果。这将导致错误。
你可能想要
if (!mysql_fetch_object($result))
或类似的东西。
另外,正如评论部分所指出的,您的PHP代码容易受到SQL injection的攻击,您应该修复它。
答案 1 :(得分:1)
您在查询中调用mysql_query()
,然后在查询结果上将其称为 。这就是问题所在。删除第二个mysql_query()
电话。
答案 2 :(得分:1)
您正在结果集上执行两次查询一次。试试这个:
$result = mysql_query("DELETE FROM attendees WHERE meeting_id = '$id' AND username = '$username'");
if (!$result)
{
die('Error: ' . mysql_error());
}
else
{
echo '<h2>The User Has Been Removed From The Meeting</h2>';
}
BTW:您的代码很容易进行SQL注入