Commands out of sync; you can't run this command now

Commands out of sync; you can't run this command now

PHP在 mysql_query中,放入呼叫預存程序(call uspSomeQuery()),
然後要再執行下一個查詢的時候,一直出現 Commands out of sync; you can't run this command now
即使是使用了
mysql_free_result($result), 還是出現相同的錯誤訊息。

原來是在呼叫預存程序時,會回傳兩個資料集,(一個是查詢的結果)、(一個是查詢結果的狀態),
一定要也把下一個資料集讀出來才可以。

後來改用mysqli(mysql加強版),在執行新的mysqli_query()前,先執行mysqli_next_result($this->dbLink)

例:

mysqli_next_result($this->dbLink);

mysqli_query($this->dbLink, $sql_attack_update)or die('fail to update attack data!'.mysqli_error($this->dbLink).$sql_attack_update);