首先,我是web開發新手,所以對不起,如果它是一個愚蠢的問題,我有一個數組,這個數組的鍵是需要更新的記錄的id在數據庫中,我使用下面的代碼創建查詢並使用mysql事務來運行查詢(因爲少數記錄應該一起更新)。生成的查詢工作正常,當我運行它使用命令行,但與PHP代碼NO!PHP + MySQL事務+語法錯誤
生成查詢代碼:
$insert="";
if($run==true){
foreach($result as $key=>$x){
$insert = $insert ."update project set type='".$x."' "."where "."id=".$key.";";
}
//echo $insert;
$insert=$insert ."COMMIT;";
$insert= "START TRANSACTION;". $insert;
代碼的結果是:
START TRANSACTION;update project set type='project1' where id=1;update project set type='project2' where id=2;COMMIT;
,它給我的錯誤:
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'update project set type='project1' where id=1;update project set type='project2'' at line 1
我不包括SQL連接和...因爲我認爲很高的百分比他們很好,但如果必要我可以包括他們。
在此先感謝
舊的'mysql _ *()'API和較舊的驅動程序在單個查詢中不支持多個語句。相反,你必須執行'mysql_query(「START TRANSACTION」);的mysql_query( 「插入......」); mysql_query(「COMMIT」);'作爲單獨的查詢。 –
您打算執行查詢的函數是什麼? –
*警告*您的代碼可能容易受到SQL注入攻擊 –