我的php代码上有很多sql查询,除了这个以外,所有这些都运行良好。
$sql_pay = "SELECT * FROM transaccion_cobro WHERE codigo='A2131231' AND idEstadoTransaccion=2";
$query_pay=mysql_query($sql_pay,$db);
$num_pay = mysql_num_rows($query_pay);
这是我得到的错误:
mysql_num_rows() expects parameter 1 to be resource, boolean given
我猜mysql_query失败并返回false。但我不知道为什么。如果我在“MySQL Query Browser”上执行该查询,则返回预期值。此外,其余查询正确执行。
有没有人知道这里会发生什么?
更新:
感谢@ICanHasCheezburger评论
解决了问题答案 0 :(得分:0)
试试这个
$sql_pay = "SELECT * FROM transaccion_cobro WHERE codigo='A2131231' AND idEstadoTransaccion=2";
$query_pay=mysql_query($sql_pay,$db);
if ( $query_pay ) {
$num_pay = mysql_num_rows($query_pay);
} else {
echo "Query Failed: " . mysql_error($db);
}
警告强>
自PHP 5.5.0起,此扩展程序已弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展。另请参阅MySQL:选择API指南和相关的常见问题解答以获取更多信息。该功能的替代方案包括:
答案 1 :(得分:-2)
$query_pay=mysql_query($sql_pay,$db);
制作$query_pay=mysqli_query($db, $sql_pay);
和
$num_pay = mysql_num_rows($query_pay);
将其设为$num_pay = mysqli_num_rows($query_pay);
然后它应该工作,因为mysqli_query必须采用$ db或连接参数,对于mysql_query它是可选的。