我正在为我正在练习的网站搜索引擎。
我是PHP的新手,并想知道如何添加多个SELECT FROM WHERE
s
以下是代码:
$query = "SELECT * FROM search WHERE site_keywords LIKE '%$search_value%'";
$run = mysql_query($query);
while ($row=mysql_fetch_array($run)){
$title = $row['site_title'];
$link = $row['site_link'];
$des = $row['site_des'];
echo "<font face=\"Segoe UI Light\"><font size='5'><a href='$link'>$title</a></font></br >";
echo "<font color='green'>$link</font>";
echo "<p>$des</p><hr>";
}
我希望它能够在site_keywords
,site_title
,site_link
和site_desc
进行搜索。
现在它只在site_keywords
中搜索。我怎么能让它全部搜索?
我现在尝试了一些东西,而且我总是得到同样的错误,所以这里是错误,而错误说的代码是错误的:
错误:警告:mysql_fetch_array()要求参数1为资源,布尔值在C:.xampp \ htdocs \ Practice Websites \ PW2 \ results.php第24行中给出
我更新了代码。
这个问题与其他问题不同,因为我已经搜索过了,我看到了很多答案。它们都不适合我,所以我问了这个问题并包含了我的代码。
“mysql_fetch_array()期望参数1是资源(或mysqli_result),布尔值为”
这个问题不像我的。我想知道如何添加多个SELECT WHERE FROM
而不是我得到的错误有什么问题。我已经知道了。
答案 0 :(得分:0)
WHERE
子句后跟一个条件表达式(即计算结果为true或false的东西)。条件为true时,返回行。
为了创建复杂的条件,有一些逻辑运算符允许组合几个更简单的条件,OR
,AND
和NOT
更常用的运算符。 LIKE
运算符返回true或false,具体取决于两个比较模式之间的匹配。如果您希望select在符合多个条件的情况下返回一行,请使用OR
运算符组合多个LIKE
。例如:
$query = "SELECT *
FROM search
WHERE site_keywords LIKE '%$search_value%'
OR site_title LIKE '%$search_value%'
OR site_link LIKE '%$search_value%'
OR site_desc LIKE '%$search_value%'
";