我能夠從標準的SQLi查詢中得到結果,但是當涉及到預處理語句時,我很好,直到從查詢中獲得結果。如何從使用PHP的預準備語句中獲得結果?
作爲背景,查詢將產生多行。
$sql = "SELECT * FROM blog WHERE ID=?";
if (!$stmt = $con -> prepare($sql)) {
echo "Prepare failed: (" . $con->errno . ") " . $con->error;
}
if (!$stmt->bind_param("i", $_GET["ID"])) {
echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}
if (!$stmt->execute()) {
echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
while($row = $stmt->fetch_assoc()){
$blog_title = $row['title'];
$blog_body = $row['body'];
$blog_blurb = $row['blurb'];
$blog_date = $row['posted'];
$blog_tags = $row['tags'];
}
這將導致 「致命錯誤:調用未定義的方法mysqli_stmt :: FETCH_ASSOC()」 在while循環條件。不過,我嘗試了PHP手冊中概述的內容,但未成功。
它一直在竊聽我好幾天,謝謝你提前。
嘗試'的var_dump(get_class_method(0函數$語句))'看到可用的方法。 –
使用'while($ row = $ stmt-> fetch()){' –
有趣,但函數調用完全相同 - get_result() –