2015-08-31 29 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'“; –