Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我无法使mysqli_stmt_num_行在php中工作_Php - Fatal编程技术网

我无法使mysqli_stmt_num_行在php中工作

我无法使mysqli_stmt_num_行在php中工作,php,Php,我一直在努力使mysqli_stmt_num_rows函数工作,但我似乎无法得到mysqli_错误,对我来说一切都很好 $query = ("SELECT * FROM users WHERE user_email= ? ;"); $stmt = mysqli_stmt_init($connection); if (!mysqli_stmt_prepare($stmt , $query)) { echo "Error at mysqli_stmt_p

我一直在努力使mysqli_stmt_num_rows函数工作,但我似乎无法得到mysqli_错误,对我来说一切都很好

    $query = ("SELECT * FROM users WHERE user_email= ? ;");

    $stmt = mysqli_stmt_init($connection);

    if  (!mysqli_stmt_prepare($stmt , $query)) {
        echo "Error at mysqli_stmt_prepare ". 
                mysqli_stmt_error($connection);
    } else {
        mysqli_stmt_bind_param($stmt, 's', $userEmail );

        mysqli_stmt_execute($stmt);
        mysqli_stmt_store_result($stmt);
        $result = mysqli_stmt_num_rows($stmt);

        if  (!$result) {
            echo 'Error at $result'. mysqli_stmt_error($stmt);
        } else {
            echo '$result is working :)';
        }
    }
我可以使用mysqli_stmt_获取结果,但不能使用mysqli_stmt_num_行。帮助:(

mysqli\u stmt\u num\u rows()
返回范围为
0
n
的数字,但不返回布尔值

您正在测试
$result
,就像它是一个布尔值一样

现在,如果您的查询没有返回任何行,那么如果这是一个新用户,
mysqli\u stmt\u num\u ROWS()
将返回零和

if  (!$result) { 
将零视为FALSE,因此运行

    echo 'Error at $result'. mysqli_stmt_error($stmt);
但是,由于这不是一个错误,mysqli\u stmt\u error($stmt)不会返回错误消息

你应该做什么

$result = mysqli_stmt_num_rows($stmt);

if  ($result > 0 ) {
    echo 'Found that user';
} else {
    echo 'Nobody yet registered with that email';
}

这不是你应该检查你的查询是否工作的方式。-充满了有用的信息,例如Shahaaa haaa所以基本上是这样的mysqli_stmt_num_rows在工作,但它没有返回任何东西,所以它用布尔值给出了一个null?:DWell它可能给出了一个等于FALSE的零。简单的测试是回显来自
mysqli_stmt_num_rows()的输出
like
echo mysqli\u stmt\u num\u rows($stmt)
Thank:)你棒极了