我一直在使用準備好的語句,而現在我從來沒有遇到任何問題。PHP準備好的語句返回-1
現在我想:
$sql="SELECT PhotoID,Caption FROM Photos WHERE EntityID=? AND TypeID=? LIMIT ?,?";
$iDB = new mysqliDB(); // Extends mysqli
$stmt = $iDB->prepare($sql);
$stmt->bind_param('iiii',$entityID,$typeID,$minRange,$maxRange);
$stmt->execute();
$stmt->bind_result($photoID,$caption);
echo("Affected={$stmt->affected_rows}");
這將打印-1。我有三重測試,bindParam中的所有4個值都已設置,並且在使用各自的值粘貼到myAdmin時,sql查詢正常工作。
任何想法可能會導致此?
編輯::我在網上找到答案,顯然我需要使用$ stmt-> store_result();執行後..但我不知道它現在和以前從未需要..
謝謝,我從來沒有想過這樣調試 - 我一直認爲它只是execute(),通常會出錯 – pws5068 2010-03-31 00:10:32