PHP中的未知问题

PHP中的未知问题,php,mysql,html-table,Php,Mysql,Html Table,我无法找出收到此错误的原因: mysql_fetch_assoc()希望参数1是资源,布尔值在第32行给出 我试图寻找答案,但没有这样的运气 我自学代码,任何帮助都将不胜感激 <table> <thead> <tr> <td>First Name</td> <td>Last Name</td> <td>Em

我无法找出收到此错误的原因:

mysql_fetch_assoc()希望参数1是资源,布尔值在第32行给出

我试图寻找答案,但没有这样的运气

我自学代码,任何帮助都将不胜感激

<table>
    <thead>
        <tr>
            <td>First Name</td>
            <td>Last Name</td>
            <td>Email</td>
        </tr>
    </thead>
    <tbody>
    <?php

    $mysql_host = 'localhost';
    $mysql_user = 'root';
    $mysql_pass = '';
    mysql_connect($mysql_host, $mysql_user, $mysql_pass);


    /* #1 get properties and it's data  */
    $seller_id="SELECT id FROM seller WHERE coupon_id='ab2345'" or die(mysql_error());
    $property="SELECT bedrooms, bathrooms, parking FROM property WHERE seller_id='{$seller_id}'" or die(mysql_error());
    $results = mysql_query($property);

    /* #2 store property data in variable */
    $property_row = mysql_fetch_assoc($results);
    $bathrooms = $property_row['bathrooms'];
    $bedrooms = $property_row['bedrooms'];
    $parking = $property_row['parking'];

    /*#3 get buyers (& their data) using property data as inputs */
    $buyers="SELECT * FROM buyers WHERE bedrooms={$bedrooms} AND bathrooms={$bathrooms} AND parking={$parking}" or die(mysql_error());
    $results = mysql_query($buyers);

    /* #4 loop through buyers */
    if (mysql_num_rows($results) < 1) echo "Oh no it seems like their are no buyers for your property"; else {
    while ($row = mysql_fetch_assoc($results)) {
    ?>
            <tr>
                <td><?php echo $row['f_name']?></td>
                <td><?php echo $row['l_name']?></td>
                <td><?php echo $row['email']?></td>
            </tr>

        <?php
        }
    }
        ?>
        </tbody>
        </table>

名字
姓
电子邮件

当查询中没有错误时,mysql返回一个资源,但当出现错误时,mysql返回false(booean数据类型和不适合mysql_fetch的参数…)

您的PHP代码应该检查返回代码,确保它是“truthy”(即不是false),然后再尝试使用它来获取。如果返回值为false,则可以使用两个mysql函数来确定问题。一个是mysql_error(),返回一个错误号(有利于switch语句处理);另一个是mysql_errmsg()返回一个文本错误消息(有利于程序员阅读)


其中一位评论员告诉您查询中的错误是什么,但这并没有解决代码中的结构性缺陷,即您在尝试使用之前没有检查好返回值。

这个问题或与之密切相关的问题每天都会出现好几次。搜索更难一点。你在
WHERE seller\u id='{$seller\u id}
中使用引号,但在
WHERE beddooms={$beddooms}和bathrooms={$bathrooms}和parking={$parking}
中却没有使用引号——为什么不直接在
WHERE beddooms='$beddooms'和bathrooms='AND parking=$parking='$parking'
$str=“foo”或die(mysql\u error())
完全没有意义。您究竟如何期望此字符串赋值失败?您需要对mysql调用执行
或die()
。其他任何地方都没用,不客气。它修好了吗@User3342398很抱歉,Fred的回复太晚了-是的,就是这样,还有另一个小语法错误:)知道我只是在while循环中遇到了问题