php - 如何回显“未找到结果”。使用 sqlsrv 和 PHP?
问题描述
sqlsrv
我有一个使用函数在 PHP 中组合在一起的工作查询。我想检查查询是否包含任何结果。如果没有,我想回应一下,“未找到结果”。如果有结果,我希望它继续并显示它们。
我一直在尝试使用sqlsrv_num_rows
来检查$result
变量是否包含任何数据行,但它会为所有内容回显“未找到结果”,即使是有效搜索也是如此。例如,如果我在表单中输入“EOG”并点击“搜索”,结果页面会显示“未找到结果”。预期结果是 20 行“EOG”变体。我对 PHP 和 sqlsrv 相当了解,并且已经搜索过 Stackoverflow,但还没有遇到一些可行的方法。任何帮助,将不胜感激。
这是用户输入他/她的搜索的表单部分:
<form action="searchResults.php" method="POST" autocomplete="off">
<input type="text" class="form-control" name="opname" placeholder="Search Text">
<button type="submit" name="submit-search">Search</button>
</form>
这是接收表单输入数据的 PHP:
<?php
if (empty($_POST['opname'])) {
echo "Nothing was entered in the input field";
} else {
$params = array("%$_POST[opname]%");
$query = "SELECT TOP 20 EntityName
FROM Well
LEFT JOIN Entity ON Entity.PKey = Well.Operator
WHERE EntityName LIKE ?;";
$result = sqlsrv_query($conn, $query, $params);
if (sqlsrv_num_rows($result) == 0) {
echo "No results found";
} else {
while ($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_NUMERIC)) {
echo $row[0]."<br />";
}
}
sqlsrv_free_stmt($result);
}
?>
解决方案
推荐阅读
- android - 三星手机忽略 Captive Portal 意图 (android.net.conn.CAPTIVE_PORTAL)
- php - 如何修复移动浏览器中的导航栏下拉菜单?
- pandas - 熊猫枢转或重塑
- node.js - 如果在执行另一个慢速查询后重复,最初带有索引的快速查询会慢得多
- c# - 如果发生异常,如何使 SQL Execute 命令每 5 分钟重试 10 次
- powershell - 有没有办法动态过滤事件日志?
- python - 如何比较版本号python
- python-3.x - 如何合并文本文件中的行?
- eclipse - 如何在 Eclipse Photon 中使用 Spring Tool Suite-Plugin 修复 ClassCastException
- gulp - 关于具有多个 html 文件的重复内容的 gulp-useref 问题