[英]MySQLi query giving error when there no any result
我正在嘗試從數據庫中查找並回顯一個結果。 我正在如下使用
<?php
error_reporting(E_ALL);
include_once("includes/connection.php");
$input = "OUT";
$answer = $mysqli->query("SELECT answer FROM faq WHERE question LIKE '%".$input."%' LIMIT 1")->fetch_object()->answer;
echo $answer;
?>
當有結果時,它工作正常,但無結果時,出現如下所示的錯誤
Notice: Trying to get property 'answer' of non-object in C:\xampp\htdocs\new\test.php on line 5
我想使用if來處理此錯誤。 我對PHP不太了解,特別是對查詢不了解。 讓我知道是否有人可以幫助我擺脫困境。 謝謝
嘗試這個:
if ($answer) {
echo $answer;
} else {
die('No Answer Found');
}
希望它能工作。
這是由於方法鏈接的使用過多而引起的,為什么您需要將每個調用放在一行中?
您應該檢查是否首先檢索到對象...
$query = $mysqli->query("SELECT answer FROM faq WHERE question LIKE '%".$input."%' LIMIT 1");
if ( $query && ($row = $query->fetch_object()) ) {
$answer = $row->answer;
echo $answer;
}
您還應該研究准備好的語句,因為這可能導致SQL注入和其他問題。 - 如何在php中創建安全的mysql准備語句?
您也可以使用try{} catch {}
try {
$answer = $mysqli->query("SELECT answer FROM faq WHERE question LIKE '%".$input."%' LIMIT 1")->fetch_object()->answer;
}
catch (Exception $e) {
$errormsg = $e->getMessage();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.