所以,我的问题是每当我使用这段代码时:
$rnumber_query = "SELECT r_number FROM users WHERE user_id='$user'";
$rnumber_query_run = mysqli_query($con, $rnumber_query);
$rnumber_query_rows = mysqli_num_rows($rnumber_query_run);
返回1行。这是不正确的,因为表中没有数据。
我试图使用这段代码来检查数据库中是否存在一串数字。
所以,那将是:
if($rnumber_query_rows == 0) { echo "String does not exist"; }
else { echo "String does exist!"; }
如果我运行echo $rnumber_query_rows;
,则会返回1
,而0
每当我使用以下代码时,它都有效,但mysqli_num_rows
仍会返回1.
$profile_info_query = "SELECT * FROM users WHERE username='$username'";
$profile_info_query_run = mysqli_query($con, $profile_info_query);
$profile_info_row = mysqli_fetch_array($profile_info_query_run, MYSQLI_ASSOC);
$rnumber = $profile_info_row['r_number'];
if($rnumber == "") { echo "Works!"; } else { echo "Does not work"; }
输出:Works!
答案 0 :(得分:0)
我无法重现问题
<?php
$con = new mysqli('localhost', 'localonly', 'localonly', 'test');
if ($con->connect_errno) {
die('connect '. $mysqli->connect_error);
}
setup($con);
$rnumber_query = "SELECT r_number FROM sofoo_users WHERE user_id='1'";
$rnumber_query_run = mysqli_query($con, $rnumber_query) or die($mysqli->error);
$rnumber_query_rows = mysqli_num_rows($rnumber_query_run);
echo '#=', $rnumber_query_rows;
function setup($mysqli) {
$mysqli->query('
CREATE TEMPORARY TABLE sofoo_users (
user_id int,
r_number int
)
');
}
按预期打印#=0
。
答案 1 :(得分:0)
解决方案(临时?)
这解决了我的问题(暂时)。
我不是100%确定这将是我的最终解决方案,因为它不是最好的方法。
使用if($rnumber == "") { echo "Works!"; } else { echo "Does not work"; }
确实有效。