1

我有一个选择查询。另一个简短的 if-form 检查此选择查询是否返回某些内容。

所以我有:

$query = "SELECT `a` FROM `b` WHERE c='$c'";
$test = ($query = mysql_query($query)) ? $mysql_num_rows($query) : 0;

所以我想转换成 mysqli 但下面的代码似乎是错误的($db = mysqli):

$query = "SELECT `a` FROM `b` WHERE c='$c'";
$test = ($query = $db->query($query)) ? $db->num_rows($query) : 0;

使用时:

$test = ($query = mysqli_query($query)) ? mysqli_num_rows($query) : 0;

它将回显错误消息:

Warning: mysqli_query() expects at least 2 parameters, 1 given...

所以如果有人会那么友好并且可以给我一个解决这个问题的建议,我真的很感激。多谢。

4

2 回答 2

1

程序模式下的 mysqli 不像 mysql 库那样默认使用最后建立的连接。您必须每次都明确包含连接:

$test = ($query = mysqli_query($conn, $query)) ? mysqli_num_rows($query) : 0;
                               ^^^^^^

同样,对于 num_rows,它是mysqli_stmt_num_rows($result)

于 2012-04-21T23:03:21.637 回答
0

如果您使用的是过程样式(即 mysqli_query 而不是 OO 方法),那么您应该将 $link var 添加到mysqli_query的参数中

于 2012-04-21T23:05:33.030 回答