我知道这是一个非常基本的问题但是我已经坚持了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
)
答案 0 :(得分:2)
Set语法通常如下所示:
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
确保您的变量都正确无误。
答案 1 :(得分:1)
您是否尝试插入记录?
你必须做这样的事情:
INSERT INTO user_to_deliverable (d_id, u_id)
VALUES (1, 4)
答案 2 :(得分:1)
您正在组合来自两个不同命令INSERT和UPDATE的语法,以创建SQL中不存在的新命令。
INSERT的正确语法:
INSERT INTO user_to_deliverable (d_id, u_id) VALUES (1, 4)
答案 3 :(得分:0)
解决了<br />
正在解决问题,删除它并查询就好了的问题:)
谢谢大家:))