PHP MySQLi UPDATE语句与MySQL函数相比

时间:2013-11-25 13:56:33

标签: php mysql mysqli

我在与 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'

我是否在自己的推理和发现中骑自行车?

3 个答案:

答案 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。