没有任何结果时,MySQLi查询给出错误

时间:2018-11-21 07:04:51

标签: php mysql sql mysqli

我正在尝试从数据库中查找并回显一个结果。我正在像下面这样使用它

<?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不太了解,特别是对查询不了解。让我知道是否有人可以帮助我摆脱困境。 谢谢

3 个答案:

答案 0 :(得分:0)

尝试一下:

if ($answer) {
    echo $answer;
} else {
    die('No Answer Found');
}

希望它会起作用。

答案 1 :(得分:0)

这是由于方法链接的使用过多而引起的,为什么您需要将每个调用放在一个长行中?

您应该检查是否首先检索到对象...

App Data

您还应该研究准备好的语句,因为这可能导致SQL注入和其他问题。 -How to create a secure mysql prepared statement in php?

答案 2 :(得分:0)

您也可以使用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();
}