2015-08-31 33 views
0

請幫我解決這個問題。基本上用2個密鑰用數據更新現有的表(chem_users)UserId &密碼(或者只允許1個主鍵?)。 使用MySQLi,這個語法有什麼問題。MySQLi更新表中的數據

$sql = "UPDATE chem_users SET (Prj1, Prj2) VALUES ('{$_POST['kinetics']}', 
'{$_POST['thermo']}') WHERE (UserId=JohnKing Password=1234rewq)"; 

我得到這個錯誤:錯誤 保存用戶數據您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近「(Prj1,Prj2)VALUES(」動力學在行正確的語法手冊1

回答

0

嘗試使用此語法:

$sql="UPDATE `chem_users` SET `Prj1`=".$_POST['kinetics'].",`Prj2`=".$_POST['thermo']." WHERE `UserId`='JohnKing' AND `Password`='1234rewq'"; 

順便說一句,你不應該只是像你在做的那樣在一個查詢中連接一個變量,你應該使用Prepared Statements.You可以在這個鏈接中瞭解一點:http://www.w3schools.com/php/php_mysql_prepared_statements.asp

+0

Txs for the tip。我檢查Prepared聲明:w3s的問題是它沒有提供大範圍的例子。是否有任何其他更好的MySQLi,PHP SQL站點?很多txs –

+0

你可以試着看官方網站。只需在Google上搜索Prepared Statements php.net。 –

+0

我試過這個,但它不工作。在我的語法下面:$ sql =「UPDATE'chem_users' SET'Prj1' =」。$ _ POST ['kinetics']。「,'Prj2' =」。$ _ POST ['thermo']。「WHERE'UserId' =' JohnKing'AND'Password' ='1234rewq'「; –