我正在尝试从数据库中查找并回显一个结果。我正在像下面这样使用它
<?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不太了解,特别是对查询不了解。让我知道是否有人可以帮助我摆脱困境。 谢谢
答案 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();
}