php - 在 PHP 中创建搜索引擎

标签 php mysql

<分区>

我创建了搜索引擎,因此当有人在搜索框中输入内容时,它会从我的数据库中获取数据并以图像形式显示结果。

一切正常,但如果我在数据库中有名称为“Lamborghini”的数据,当有人在搜索框中输入“lambo”或“Lamborghini”时,它工作正常并显示结果,但当他输入“Lamborghini car”时它没有显示任何结果。

这是我的 PHP 代码:

<html>
<link href="css/imgpages.css" rel="stylesheet" type="text/css">

    <head>
        <title>Search the Database</title>
    </head>

    <body>

    <form action="" method="post">
     Search: <input type="text" name="term" /><br />
    <input type="submit" name="submit" value="Submit" />
    </form>



    </body>
 </html>

 <?php
include("connection.php");

$term = $_POST['term'];


$query = mysql_query("select * from save_data where Title like '%$term%'");


while($row = mysql_fetch_array($query)) {

    $post_id = $row['ID'];
    $title = $row['Title'];
    $image = $row['Name'];

?>
    <div id="body">

    <a href="pictures.php?title=<?php echo $title; ?>">
    <div id="title"><?php echo $title; ?></div></a>

    <a href="pictures.php?title=<?php echo $title; ?>">
    <img  src='uploads/<?php echo $image; ?>' width='140' height='140'></a>
    </div>

<?php } ?>

最佳答案

你应该:

  • 修复您的 SQL(使其安全 - 如果您保留它,只需一次搜索就可以删除您的整个数据库,切换到 mysqli 或 PDO,因为 mysql_* 函数已被弃用)
  • 将您的查询字符串拆分成单独的词并决定如何处理它们(是使用 OR 还是 AND...换句话说,是所有搜索词都需要匹配,还是其中任何一个,等等)<

当您处理所有这些问题并决定使其更高级时,您应该了解全文搜索。

关于php - 在 PHP 中创建搜索引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20300414/

相关文章:

javascript - Dropzone js错误 "Uncaught TypeError: $(...).dropzone is not a function"

mysql - SQL查询以获取2个日期有效时间表之间的数据

PHP、MySQL CSV 导入 - 您会如何执行此操作?

php - 如何获取默认值的记录

mysql - MySql 中的存储过程性能

php - 使用亚马逊 MWS 时我的 Feed 应该是什么样子?

php - 使用php将excel文件导入mysql如何动态获取/添加和插入列?

php - 如果列中没有数据,则将数据插入到列中

php - 电子邮件字段未保存到数据库 - Android 注册页面

mysql - 管理数据库记录的流行趋势