错误说它给出了布尔值

the error says it gives boolean value

我在 $count 部分收到一个 error 用于验证数据是否存在, 它说

it returns boolean values

但我不明白为什么。我已经在哪一行,错误所在的位置发表了评论。

    $check = mysql_fetch_array(mysql_query("SELECT * FROM `request` WHERE `Request_ID`=''"));
    $count = mysql_num_rows($check); // error is here 

    if($count > 0){
        ?>
        <script>
            alert('Data Already Exist!');
        </script>
        <?php

    }else{
    mysql_query("INSERT INTO `request` (`Request_Name`, `Request_Date`, `Request_By`,`Description`,`Quantity`, `Price`, `Destination`,`Reason`) VALUES ('$name', '$date', '$req','$desc','$qty','$prc','$dest','$reason',)");
    ?>
    <script>
        window.location = "home.php#requi.php";
    </script>
    <?php
    }

}

如何解决这个问题?

尝试用mysql_num_rows()代替mysql_fetch_array()

检查引用 here

您只能对结果对象调用 mysql_num_rows。 如果你想得到结果的行数,你必须使用这个代码:

$check = mysql_query("SELECT * FROM `request` WHERE `Request_ID`=''");
$count = mysql_num_rows($check); // error should be gone

//Optional:
while($data = mysql_fetch_array($check, MYSQLI_ASSOC))
{
    $result[] = $data;//To get all rows, one by one
}

另外,我不建议使用 mysql,请改用 mysqli,如果您需要这方面的帮助,我很乐意进一步帮助您。

mysql_fetch_array:

Returns an array of strings that corresponds to the fetched row, or FALSE if there are no more rows.

我的猜测是 return 错误。这就是您收到错误的原因。