警告:mysql_fetch_assoc()期望参数1是资源,布尔值

时间:2014-12-07 13:06:35

标签: php mysql

尝试通过相同的搜索按钮返回两种不同的值类型。我正在尝试搜索的两个值是字符串标题和MySQL数据库中自动递增的id。

我不确定哪种方法是通过同一搜索框包含两个搜索参数的最佳方法。

有人可以帮忙吗?

$search = mysql_real_escape_string(trim($_POST['keywordsearch'])); //removes whitespace in searchbox

$find_titles = mysql_query ("SELECT * FROM `catalogue` WHERE `keywords` LIKE'%$search%' OR WHERE `id` LIKE'%$search'");
 //Searches for anything with inputted character

?>
<h1>Search Results</h1>

<table id='table'>
    <table width="600" border="1" cellpadding="2" cellspacing="2">

    <tr>
        <th>ID</th>
        <th>Title</th>
        <th>Stock</th>
        <th>Cost</th>
    </tr>

    <?php

while ($row = mysql_fetch_assoc($find_titles))
{
        echo "<tr>";
            echo "<td>".$row['id']."</td>";
            echo "<td>".$row['title']."</td>";
            echo "<td>".$row['quantity']."</td>";
            echo "<td>".$row['price']."</td>";
        echo "</tr>";
    }// end While

echo "</table>"; ?>
}

?>

错误消息:警告:mysql_fetch_assoc()期望参数1为资源,第34行中给出布尔值**(while($ row = mysql_fetch_assoc($ find_titles)

1 个答案:

答案 0 :(得分:0)

无需添加WHERE两次。一次使用它。

$find_titles = mysql_query ("SELECT * FROM `catalogue` WHERE `keywords` LIKE '%$search%' OR `id` LIKE '%$search'");

还建议您在while循环

之前添加这样的错误报告
if(!$find_titles){
    die(mysql_error());
}