php - 如何使用 PHP 搜索栏检索 MySQL 数据库数据

标签 php mysql

我已经使用 PHP 创建了一个搜索栏,我想检索 MySQL 数据库中的数据。

我的代码如下:

<?php

$button = $_GET ['submit'];
$search = $_GET ['search'];

if(!$button)
echo "You searched for '<b>$search</b>' <hr size='1'</br>";
$con=mysqli_connect("localhost", "root", "root", "PM_DB");

if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$search_exploded = explode (" ", $search);

foreach($search_exploded as $search_each)
{
$x++;
if($x==1)
$construct .="keywords LIKE '%$search_each%'";
else
$construct .="AND keywords LIKE '%$search_each%'";

}

$construct ="SELECT * FROM Leads WHERE $construct";
$run = mysqli_query($construct);

$foundnum = mysqli_num_rows($run);

if ($foundnum==0)
echo "There are no results for <b>'$search'</b>. Please check your spelling.";
else
{
echo "$foundnum results found !<p>";

while($runrows = mysqli_fetch_assoc($run))
{
$Company = $runrows['Clients'];

echo "<a href='$Company'><b>Company</b></a><br>";

}
}

?>

每次我单击搜索时,它只会返回错误消息。我错过了什么?任何建议将不胜感激!谢谢 - Tijger。

最佳答案

试试这个代码

$search_exploded = explode(" ", $search);

$construct = "SELECT * FROM Leads WHERE keywords LIKE ";
$construct .= "'%".implode("%' OR '%", $search_exploded)."%'";

$run = mysqli_query($construct);

Live demo

关于php - 如何使用 PHP 搜索栏检索 MySQL 数据库数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26671230/

相关文章:

php - 如何使用 LOAD INFILE 更新表?

mysql - 把WampServer的MySQL当作真正的MySQL上网

php - PHP 5.6u 和 PHP 5.6w 的区别

php - Laravel 4.2 验证 : required_unless

mysql - 使用 DBeaver 中的 ssh 隧道连接到远程数据库

mysql - 选择满足 where 子句的行以及共享公共(public)键的行

php - 对过滤查询的结果进行排序

javascript - 使用 GET 变量重写表单提交

php - 从 MySQL 转换后 PDO 脚本不工作

mysql - 如何将高级计算集成到数据库领域?