我有一个数据库有 20 个表我想搜索所有这些我被卡住了,我如何搜索这个并解决这个查询帮助非常感谢。喜欢:
- table1
- table2
- table3
- table4
等等。这是我的脚本。
<?php
if(isset($_GET["search"]))
{
$condition = '';
//$query = explode(" ", $_GET["search"]);
$query = explode(" ", $_GET["search"]);
foreach($query as $text)
{
$condition .= "`title` LIKE +'%".mysqli_real_escape_string($connect, $text)."%' OR ";
}
$condition = substr($condition, 0, -4);
$sql_query = "SELECT * FROM countries2 WHERE " . $condition;
$result = mysqli_query($connect, $sql_query);
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
echo '<tr><td>'.$row["title"].'</td></tr>';
}
}
else
{
echo '<label>Data not Found</label>';
}
}
?>
最佳答案
试试这个
sql_query = "SELECT * FROM `countries`,`countries2` WHERE " . $condition;
我注意到您正在制作一个搜索目录或类似的东西。
您可以使用带有运算符的FULLTEXT SEARCH
和词干提取
在此之后,您的查询将如下所示。
根据您的要求实现;)。
(SELECT * FROM table1 WHERE(col1,col2,clo3) AGAINST(."$search".) IN NATURAL LANGUAGE MODE)
关于php - 在 Mysql 数据库 PHP 中搜索多个 MySql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40255697/