簡體   English   中英

沒有任何結果時,MySQLi查詢給出錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM