我有一个选择查询。 另一个简短的 if 表单检查此选择查询是否返回某些内容。
所以我有:
$query = "SELECT `a` FROM `b` WHERE c='$c'";
$test = ($query = mysql_query($query)) ? $mysql_num_rows($query) : 0;
所以我想转换为 MySQLLI,但以下代码似乎是错误的($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...
因此,如果有人会那么友好,可以给我一个解决这个问题的建议,我将不胜感激。 多谢。
过程
模式下的mysqli不会像MySQL库那样默认使用最后建立的连接。每次都必须显式包含连接:
$test = ($query = mysqli_query($conn, $query)) ? mysqli_num_rows($query) : 0;
^^^^^^
同样,对于num_rows来说,这是mysqli_stmt_num_rows($result)
如果您使用的是过程样式(即mysqli_query而不是 OO 方法),那么您应该将 $link var 添加到mysqli_query的参数中