php - 简单的搜索功能总是返回 0 个结果

标签 php mysql

我有这个 php 代码

if(isset($_POST['submit'])){

$likeString = '%' . $_POST['search'] . '%';
$query = $conn->prepare("SELECT * FROM images WHERE image_caption LIKE ?");
$query->bind_param('s', $likeString);
$query->execute();

    var_dump($likeString);
    if (!$query) {
      printf("Query failed: %s\n", $mysqli->error);
      exit;
    }   
    if($res->num_rows > 0) {
       while ($row = $res->fetch_assoc()) {          
             echo "<br>Title: " . $row['image_caption'];          
       }
    } else { 
          echo " <br> 0 results"; 
    }

}

var_dump($likeString) 正确显示了我通过搜索表单发布的单词。我也试过直接在 phpmyadmin 中运行这个查询

SELECT * FROM images WHERE image_caption LIKE "%Volvo%"

我收到了 1 个正确的结果。在页面上,我看到 0 个结果。尝试使用 fetch:

$res->fetch_assoc()
$res->fetchAll()
$res->fetch()

它们都没有显示任何结果。我敢肯定这是一个非常愚蠢和简单的错误,但看不到它。请对此提供帮助。

我没有对非对象的成员函数 bind_param() 的调用 这是我的错误,而我已经从其中一个答案中提出了建议的更改。问题仍然存在 - 0 个结果

更新:当前代码

$likeString = "%{$_POST['search']}%";
$query = $conn->prepare("SELECT * FROM images WHERE image_caption LIKE ? ");
$query->bind_param('s', $likeString);
$query->execute();

    if($query->num_rows > 0) {
       while ($row = $query->fetch()) {          
             echo "<br>Title: " . $row['image_caption'];          
       }
    } else { 
          echo " <br> 0 results"; 
    }

}

更新 2:已检查数据库连接-> 结果是 Connected successfully

$servername = "localhost";
$username = "mydbUsername"; // it's changed for the question
$password = "myPass"; // it's changed for the question
$dbname = "myDbName"; // it's changed for the question

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";

最佳答案

您正在使用 $res 而它未定义...您必须改用 $query。 下次打开错误报告以查看这些愚蠢的错误

关于php - 简单的搜索功能总是返回 0 个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40584729/

相关文章:

Mysql查询查找每天至少提交1次的黑客

php - 在 PHP 上执行 mysql 级联删除

php - 如何使用依赖注入(inject)创建业务层对象?

php - 如何在 Doctrine 2 DQL 查询中正确指定模型/表名称?

mysql - 在 MySQL 中设置 `server-id` 变量不起作用

mysql - 数据库设计 - 我应该规范化还是非规范化(连接或复制)

MYSQL 查询 - 当 col1 只有 'Special' 时使用,否则使用另一个

php - codeigniter查询问题

php - Codeigniter 和黑客语言

php - 显示来自数据库的默认 youtube 视频