-1

我知道这是一个非常基本的问题,但我已经被困了 3 个小时,无法弄清楚什么是错的。任何人都可以告诉我这个查询有什么问题吗?

insert into user_to_deliverable set d_id = 1 u_id = 4 

我有以下错误

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'u_id = 4' at line 1

我根据答案更正了查询,但它仅在 phpmyadmin 上运行,而不是通过代码插入,这是我的代码

foreach($_POST['user'] as $k=>$v) {

      echo    $ins_u_deliverable =   "insert into user_to_deliverable set d_id = ".$_POST['dlvrbl_id'].", u_id    =   $v "."<br />";

      mysql_query($ins_u_deliverable);
    } 

用户的数组是

[user] => Array
    (
        [0] => 4
        [1] => 5
    )
4

4 回答 4

2

集合语法通常如下所示:

INSERT INTO table SET a=1, b=2, c=3

我猜您缺少逗号,即您的查询应该是:

insert into user_to_deliverable set d_id = 1, u_id = 4

如果这不起作用,请确保您指定的所有元素都存在。

编辑:您的语法现在似乎是正确的,为了进行故障排除,我会确保您获得准确的值

$_POST['dlvrbl_id'] and $v

以确保您的变量都是正确的。

于 2012-09-03T20:09:35.077 回答
1

您正在组合来自两个不同命令 INSERT 和 UPDATE 的语法来创建 SQL 中不存在的新命令。

INSERT 的正确语法:

 INSERT INTO user_to_deliverable (d_id, u_id) VALUES (1, 4)
于 2012-09-03T20:10:42.300 回答
1

您是否要插入记录

你必须做这样的事情:

INSERT INTO user_to_deliverable (d_id, u_id)
VALUES (1, 4)

http://www.w3schools.com/sql/sql_insert.asp

于 2012-09-03T20:09:02.957 回答
0

解决了导致问题<br />的问题,将其删除并查询一切正常:) 谢谢大家:)

于 2012-09-03T20:28:36.890 回答