mysqli_num_rows()期望参数1是mysqli_result,object

dac*_*dac 4 php mysqli

这是我第一次体验mysqli.它似乎是在mysqli_num_rows()中的括号之间寻找结果集的名称.然而,当我尝试$ stmt,$ conn,什么都没有时,我得到了同样的错误.令人沮丧!什么是$ WHAT在下面的最后一行?

或许我正在尝试错误的方法.我想做的就是检查结果是否已返回.我真的不需要行数.我是否应该使用错误消息执行else语句?这是最好的方法吗?有没有一种很好的方法来编写一个连接和接受查询及其参数的函数?我为mysql写了一个,但这是如此不同!我不期待重写几十个问题!

$conn = mysqli_connect($host, $user, $pwd, $db,$port=$port_nbr); 

if ($mysqli_connect_errno) {
    printf("Connect failed: %s\n",
    mysqli_connect_error());
    exit;
}
if($stmt=$conn->prepare("SELECT id, name, status, type FROM organization")) {
    $stmt->execute();
    $stmt->bind_result($org_id, $orgname, $orgstatus, $orgtype);    
    $num=mysqli_num_rows($WHAT);
}
Run Code Online (Sandbox Code Playgroud)

shm*_*eps 8

当您只想要面向对象时,您正在组合过程和面向对象的方法.更改

$num=mysqli_num_rows($WHAT);
Run Code Online (Sandbox Code Playgroud)

$num = $stmt->num_rows();
Run Code Online (Sandbox Code Playgroud)