无法在 php-ajax-live-search-with-multiple-value 中显示错误

在我的本地计算机上托管后,一切正常。除非我搜索数据库中不可用的数据,否则我想收到错误消息“在此表上找不到结果”。请检查代码。

当我们搜索无效值时,不会弹出未找到结果错误。

获取.php


    <?php


//fetch.php


$connect = new PDO("mysql:host=localhost;dbname=testing", "root", "");


$output = '';


$query = '';


if(isset($_POST["query"]))

{

 $search = str_replace(",", "|", $_POST["query"]);

 $query = "

 SELECT * FROM tbl_customer 

 WHERE CustomerName REGEXP '".$search."' 

 OR Address REGEXP '".$search."' 

 OR City REGEXP '".$search."' 

 OR PostalCode REGEXP '".$search."' 

 OR Country REGEXP '".$search."'

 ";

}

else

{

 $query = "

 SELECT * FROM tbl_customer ORDER BY CustomerID

 ";

}


$statement = $connect->prepare($query);

$statement->execute();


while($row = $statement->fetch(PDO::FETCH_ASSOC))

{

 $data[] = $row;

}


echo json_encode($data);


?>


POPMUISE
浏览 65回答 1
1回答

呼唤远方

在 Fetch.php 中,变量 $data 仅在找到一个或多个答案时才存在。否则,var $data 仍然不存在于最后一行: json_encode($data); 如果您打开 error_reporting,它会向您显示一条有关“第 X 行未定义的 var 数据”的消息。PHP 会原谅你,假设 $data 的值为 NULL;所以你会得到一个 json_encoded 形式或 NULL。因此,如果您将其放入 Fetch.php 的顶部,它将始终存在并且是一个空数组或一个填充数组。这将避免在 Javascript 中出现无法读取 NULL 长度的错误。然而,空数组的长度 = 0。
打开App,查看更多内容
随时随地看视频慕课网APP