PHP多个“SELECT FROM WHERE”的

时间:2014-11-10 18:51:04

标签: php mysql where

我正在为我正在练习的网站搜索引擎。

我是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_keywordssite_titlesite_linksite_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而不是我得到的错误有什么问题。我已经知道了。

1 个答案:

答案 0 :(得分:0)

WHERE子句后跟一个条件表达式(即计算结果为true或false的东西)。条件为true时,返回行。

为了创建复杂的条件,有一些逻辑运算符允许组合几个更简单的条件,ORANDNOT更常用的运算符。 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%'
";