2013-11-25 36 views
-1

我在遇到與有關的信息時,MySQLi UPDATE似乎不同於舊的MySQL函數在PHP中。PHP MySQLi UPDATE語句與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' 

我在我的推理和發現騎自行車嗎?

+2

我認爲你在混合'UPDATE'和'INSERT'語法。 –

+1

MYSQL是MYSQL。無論您使用的是MYSQL,PDO還是MYSQLi函數,實際的語法都是一樣的。他們只是處理不同。 –

+0

你**沒有**用於用mysql寫這個。就這樣 –

回答

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' 
0

看看the documentation,第一個例子是錯誤的,那就是INSERT語法。第二個示例是UPDATE的語法,如果使用mysql_*mysqli_*或PDO,語法是相同的,則無關緊要。

0

Andreas,mysql和mysqli都具有相同的插入/更新語法/規則。我覺得你正在混合更新和插入查詢。

mysql和mysqli更新的唯一區別是工作(i)。在MySQL中工作的更新查詢也可以與mysqli一起使用。