我一直在使用准备好的语句,而现在我从来没有遇到任何问题。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