【问题标题】:MySQL syntax error in "DELETE FROM" [closed]“DELETE FROM”中的 MySQL 语法错误 [关闭]
【发布时间】:2013-04-13 20:49:05
【问题描述】:

好吧,我正在制作一个 PHP 脚本,它可以找到任何行,其中 user_id 等于登录用户的 user_id,如果找到与用户具有相同 user_id 的任何行,则从 friend_requests 中“移动”所有行 将她的 user_id 放到一个名为 friend_requestes_notificated

的新表中

我的脚本中是否一切正常,除了将行复制到新表后删除行的代码。


这是错误:

“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的 'DELETE FROM friend_requests WHERE user_id=1' 附近使用的正确语法”


代码:

<?php include_once("includes/head.php"); ?>
<?php require_once("includes/connect/connect.php"); ?>
<?php require_once("includes/functions.php"); ?>
<?php require_once("includes/jquery.php"); ?>

<?php function friend_request_notification(){

global $db;
global $userid;

$userid = $_SESSION['userid'];

$query_id_see = "SELECT user_id FROM friend_requests WHERE user_id=\"{$userid}\" ";
$result_set3 = mysql_query($query_id_see, $db)  or die(mysql_error());

$change_table = "INSERT INTO friend_requests_notificated (id, user_id, user_id_requester) SELECT id, user_id, user_id_requester FROM friend_requests WHERE user_id={$userid} DELETE FROM friend_requests WHERE user_id={$userid}";

$change_table2 = mysql_query($change_table) or die(mysql_error());

if ($id_requests = mysql_fetch_array($result_set3)){
}

else

{
}

}

if ($id_requests = mysql_fetch_array($change_table2)){
}

else
{
}


friend_request_notification();
?>   

【问题讨论】:

    标签: php mysql syntax sql-delete


    【解决方案1】:

    您需要将插入查询和删除查询分开。你不能同时做这两件事。 (我在那里看到一个选择查询。这也需要是它自己的查询)。

    $insert_table = "INSERT INTO friend_requests_notificated (id, user_id, user_id_requester) SELECT id, user_id, user_id_requester FROM friend_requests WHERE user_id={$userid}";
    $change_table2 = mysql_query($insert_table) or die(mysql_error());
    
    $delete_table = "DELETE FROM friend_requests WHERE user_id={$userid}";
    $change_table3 = mysql_query($delete_table) or die(mysql_error());
    

    另外,please, don't use mysql_* functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解 prepared statements,并使用 PDOMySQLi - this article 将帮助您决定哪个。如果你选择 PDO,here is a good tutorial

    【讨论】:

    • 谢谢 :D 是的,我知道我的 mysql API 将被删除,但我有太多的代码行,我懒得更改所有内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-12
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多