我知道这是一个非常基本的问题,但我已经被困了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
)
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
以确保您的变量都是正确的。
您是否试图插入记录?
你必须这样做:
INSERT INTO user_to_deliverable (d_id, u_id)
VALUES (1, 4)
请参阅http://www.w3schools.com/sql/sql_insert.asp
您将两个不同命令INSERT和UPDATE的语法组合起来,创建一个SQL中不存在的新命令。
INSERT的正确语法:
INSERT INTO user_to_deliverable (d_id, u_id) VALUES (1, 4)
解决了<br />
产生问题的问题,删除了它,查询运行良好:)谢谢大家:)