我在与 MySQLi UPDATE 相关时遇到的信息似乎与PHP中旧的 MySQL 函数不同。
使用我以前编写的 MySQL 函数:
UPDATE table SET (col1, col2, col3, col4)
VALUES ('val1', 'val2', 'val3', 'val4')
WHERE col1 = '4'
如果我错了,请纠正我,但在 MySQLi 中似乎直接用列映射其值,例如:
UPDATE table SET col1='val1', col2='val2', col3='val3', col4='val4' WHERE col1 = '4'
我是否在自己的推理和发现中骑自行车?
答案 0 :(得分:1)
UPDATE查询的语法
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
http://www.w3schools.com/php/php_mysql_update.asp
INSERT查询的语法
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
http://www.w3schools.com/php/php_mysql_insert.asp
在第一个示例中,您编写了一个UPDATE查询,但除了使用SET之外还使用VALUES。不使用此声明中的值。
UPDATE table SET (col1, col2, col3, col4)
VALUES ('val1', 'val2', 'val3', 'val4')
WHERE col1 = '4'
你的第二个例子是mysql和mysqli的准确语法。
UPDATE table
SET col1='val1', col2='val2', col3='val3', col4='val4'
WHERE col1 = '4'
答案 1 :(得分:0)
看一下the documentation,第一个例子是错误的,这就是INSERT语法。第二个示例是UPDATE的语法,如果您使用mysql_*
,mysqli_*
或PDO,则无关紧要,语法是相同的。
答案 2 :(得分:0)
Andreas,mysql和mysqli都有相同的插入/更新语法/规则。我觉得你正在混合更新和插入查询。
mysql和mysqli更新之间的唯一区别是工作(i)。在mysql中工作的更新查询也适用于mysqli。