PHP MySQLi UPDATE语句与MySQL函数的比较

PHP MySQLi UPDATE语句与MySQL函数的比较,php,mysql,mysqli,Php,Mysql,Mysqli,我遇到的与MySQLi更新相关的信息似乎与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', c

我遇到的与MySQLi更新相关的信息似乎与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'

我的推理和发现是不是在骑自行车?

看一看,第一个例子是错误的,那就是插入语法。第二个例子是更新的语法,无论您使用的是
mysql\u*
mysqli\u*
还是PDO,语法都是相同的。

Andreas,mysql和mysqli对于插入/更新都有相同的语法/规则。我觉得你是在混合更新和插入查询


mysql和mysqli更新之间的唯一区别是工作(i)。在mysql中工作的更新查询也将与mysqli一起工作

更新查询的语法

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value

插入查询的语法

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)

在第一个示例中,您编写了一个更新查询,但除了使用SET外,还使用了值。不使用此语句中的值

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'

我认为你在混合
UPDATE
INSERT
syntax.MYSQL就是MYSQL。无论您使用的是MYSQL、PDO还是MYSQLi函数,实际语法都是相同的。他们只是处理方式不同。你以前没有用mysql写过这个。这就是全部