javascript - 我的 PHP else { // 语句 }; 在 SQL 中使用 LIKE 未找到结果时不显示(提供图片)
问题描述
<?php
include 'conn.inc.php';
$keyPressed = mysqli_escape_string($conn, $_POST['keyPressed']);
if (!empty($keyPressed)) {
$sql = "SELECT name, type FROM businesses WHERE name LIKE '$keyPressed%' ORDER BY name";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while ($row=mysqli_fetch_assoc($result)) {
echo "<div class='businesses-bar'>
<p class='businessName'>",
$row['name'],
" (",$row['type'],")","</p>
<button type='button'>PIN</button>
</div>";
}
} else {
echo "0 results";
}
} else {
echo "Search a business and click \"Pin\" to add it to the map.";
}
?>
我想做的应该很简单。我觉得我只是缺少一个关键字或其他东西。
- 从 javascript 文件中获取击键并通过 Ajax 将它们传递到该文件中,在变量 $keyPressed 下
- 在我的数据库中按“名称”查找企业
- 如果击键与数据库中的任何名称都不匹配,则回显“0 结果”
问题:每次 $keyPressed 与我的数据库列“名称”中的“名称”不匹配时,我都会得到一个空白返回值(屏幕上没有任何内容)。如果我的击键不再与数据库中的 LIKE 'name' 匹配,我希望它回显“0 个结果”。
我试过把 else 语句放在末尾
- if ($result = mysqli_query($conn, $sql)
希望如果没有结果它会回显
- 否则{回显“0结果”};
但它只是回显一个空白区域,就好像它正在寻找某种空白结果一样。
提供了我的问题的所有图片,不包括 javascript 文件(我知道这不是问题)。
解决方案
根据 PHP docmysqli_query()
对于 SELECT、SHOW、DESCRIBE、EXPLAIN 和其他返回结果集的语句,mysql_query() 在成功时返回资源,在错误时返回 FALSE。
试试这个
if ($result = mysqli_query($conn, $sql) && mysqli_num_rows($result)){
...
}else{
...
}
推荐阅读
- html - 背景图像前后的空白
- android - Android - 使用 gradle 3.2.1 构建数据绑定和 kapt 失败
- javascript - 打字稿和@types/react 错误
- swift - 我的框架没有导入 Typealias
- mysql - QSqlQuery::prepare + MySQL ODBC 连接器
- angular - 从带有查询字符串参数的电子邮件链接中打开 Angular 2 组件
- delphi - Windows 商店购买时的“PEX-CatalogAvailabilityDataNotFound”
- python - 程序关闭后如何保存变量并加载它们?
- database - 识别多值依赖的问题
- javascript - 获取 AsyncStorage 数据到