2015-04-06 83 views
1

我在函數中有2個準備好的語句。從第一次得到結果後,我需要將此結果中的一個字段的值用作第二個語句中的bind_param()函數的參數。但是我得到了錯誤,直到我找到了關於store_result()函數並在第一個語句後使用它。因此,您可以告訴或提供一些參考資料來閱讀,爲什麼需要使用store_result()函數以及爲什麼在使用2個準備好的語句期間出現此問題。PHP 2已準備好的語句錯誤

我不知道我是否正確,但在我看來,這是因爲我沒有在第二次開始之前關閉第一個語句,也許是因爲兩者都是開放的,會產生一些錯誤。

編輯:
我發現了一些信息,以某種方式幫助我解決這個問題

命令不同步:

這可能發生,例如,如果你正在使用mysql_use_result()並在調用mysql_free_result()之前嘗試執行新的查詢。如果嘗試執行兩個查詢而不調用mysql_use_result()或mysql_store_result()之間的數據,也會發生這種情況。

回答

1

store_result()它自己使用傳輸最後一個查詢的結果集。

Example : 
$stmt = $mysqli->prepare("SELECT col1,col2 FROM tabel WHERE col1= ?") 
$stmt->bind_param('s', $test); 
$stmt->execute(); 
$stmt->store_result(); 
$stmt->bind_result($col1,$col2); 
$stmt->fetch(); 
  1. 您可以在here讀它如何使用準備好的聲明。
  2. 你可以閱讀this文檔如何使用mysqli prepared語句。