我无法使mysqli_stmt_num_行在php中工作
我一直在努力使mysqli_stmt_num_rows函数工作,但我似乎无法得到mysqli_错误,对我来说一切都很好我无法使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
$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()的输出
likeecho mysqli\u stmt\u num\u rows($stmt)
Thank:)你棒极了