我将此错误Warning: mysql_num_rows() expects parameter
1作为资源,我的代码中给出的布尔值如下
这里是if(mysql_num_rows($res)>0){
行
请帮帮我
function getProgramFee(){
$sql = "SELECT program_merchantid,program_id,program_fee,program_value,program_type FROM partners_program";
$res = @mysql_query($sql);
if(mysql_num_rows($res)>0){
while($row = mysql_fetch_object($res)){
$merid = $row->program_merchantid;
$id = $row->program_id;
$prgm_fee = trim($row->program_fee);
$prgm_value = $row->program_value;
$prgm_type = $row->program_type;
if(($prgm_type == "0")){
$prgm_fee = $program_fee;
$prgm_value = $program_value;
$prgm_type = $program_type;
}
答案 0 :(得分:2)
布尔值的参数是$res
。错误时mysql_query
会返回FALSE
:
对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他语句返回 结果集,
mysql_query()
会在成功时返回资源,或FALSE
开启 错误。
来自http://php.net/manual/en/function.mysql-query.php。
所以问题是你的SQL查询无效,可能是因为partners_program
不存在或因为其中一个字段不存在。
调试问题的一个良好开端是删除@
前面的mysql_query
。 @抑制所有错误,并且通常不赞成。如果您的PHP设置已正确设置以进行调试,则应收到描述性错误消息。您还可以在mysql_error()
之后使用mysql_query
进行调试以获取更多详细信息。
此外,mysql_*
函数已被弃用了很长时间,因此如果可能,您应该查看pdo
或mysqli
库。