首页 / PHP / php – 简单搜索功能总是返回0结果
php – 简单搜索功能总是返回0结果
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 简单搜索功能总是返回0结果,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2543字,纯文字阅读大概需要4分钟。
内容图文
![php – 简单搜索功能总是返回0结果](/upload/InfoBanner/zyjiaocheng/754/9491685f12854ccda5a507dc9e78e481.jpg)
我有这个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结果.试图玩获取:
$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:检查数据库连接 – >结果已成功连接
$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";
解决方法:
试试这个:(更新你的代码)
$likeString= "%{$_POST['search']}%";
$stmt = $db->prepare("SELECT * FROM images WHERE image_caption LIKE ?");
$stmt->bind_param('s', $likeString);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_array(MYSQLI_NUM))
{
foreach ($row as $r)
{
echo "<br>Title: " . $r['image_caption'];
}
print "\n";
}
要么
<?php
$conn = new mysqli("localhost","mydbUsername","myPass","myDbName");
/* check connection */
if ($conn->connect_errno) {
printf("Connect failed: %s\n", $conn->connect_error);
exit();
}
$query = "SELECT * FROM images WHERE image_caption LIKE %".$_POST['search']."%";
if ($result = $conn->query($query)) {
/* fetch associative array */
while ($row = $result->fetch_assoc()) {
echo "<br> Title: ". $row["image_caption"]);
}print "\n";
/* free result set */
$result->free();
}
/* close connection */
$conn->close();
?>
内容总结
以上是互联网集市为您收集整理的php – 简单搜索功能总是返回0结果全部内容,希望文章能够帮你解决php – 简单搜索功能总是返回0结果所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。