当我为学校做点什么时,我得到了一个奇怪的错误

时间:2017-02-26 13:24:28

标签: php

我明白了:

  

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

中给出

是一个错误,但我不知道为什么!

我必须为学校做这个练习,到目前为止一直很好,但现在我得到了这个错误,我已经被困了一段时间。

我对这件事情很安静,所以我希望我的代码不坏。 我的代码是:

mysql_connect ("localhost","root","usbw");
mysql_select_db("classicmodels");

function productLinesDropDown(){
    $result = mysql_query("SELECT productLine , textDescription FROM `productlines`");
    echo "<form method='post' action=dropdownlist.php><select name='productlijn'>";
    while($data = mysql_fetch_assoc($result)){
        echo "<option value'" . $data["productLine"] . "'>" . $data["productLine"] . "</option>";
    }
    echo "</select><input name=Submit type=submit value=Submit></form>";
}

if(isset($_POST['Submit'])){
    $productlijn = $_POST['productlijn'];
    toonProductsProductline($productlijn);
}
function toonProductsProductLine($productline) {
    $gegevens = mysql_query("SELECT productName , productScale , productDescritpion , productLine FROM `product`");
    echo "<table><tr><td>productName</td><td>productScale</td><td>productDescription</td></tr>";
    while($data = mysql_fetch_assoc($gegevens)){
        if($data["productLine"] == $productline){
            echo "<tr>";
            echo "<td>" . $data["productName"] . "</td>";
            echo "<td>" . $data["productScale"] . "</td>";
            echo "<td>" . $data["productDescription"] . "</td>";
            echo "</tr>";
        }
    }
    echo "</table>";
}
productLinesDropDown();

2 个答案:

答案 0 :(得分:0)

阅读我们被告知的documentation

  

对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他返回结果集的语句,mysql_query()会在成功时返回资源,或者在出错时返回FALSE。

您的代码应该在您的while循环之前测试此布尔值并执行一些适当的操作。在您的情况下,我建议获取mysql_error()的值,以确定SQL的问题。

答案 1 :(得分:0)

正如您可以阅读手册

  

失败时返回FALSE。对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询,mysqli_query()将返回TRUE。

本文是关于mysqli的,但在这种情况下,它的工作方式与mysql相同。

您必须检查查询是否失败或返回空结果(包含FALSE值)。

相反

while($data = mysql_fetch_assoc($gegevens)){

做类似的事情

while($gegevens !== FALSE && $data = mysql_fetch_assoc($gegevens)){

您也可以添加其他内容,例如显示有关空结果的信息。