如何解决MySQL查询找到行但什么都不返回
我有一个这样创建的2列表(每个用户都有一个自己的表):
$sql = "CREATE TABLE $user_name (
driver TINYTEXT NOT NULL,reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
我已经(手动使用phpMyAdmin)将数据插入到一个这样的表中。 reg_date已设置为当前时间,并插入了一些随机字符串(数字,例如01234)。
我尝试像这样访问行:
$mysql_qry2 = "SELECT * FROM $username";
$result2 = mysqli_query($conn,$mysql_qry2);
$ans = "";
if(mysqli_num_rows($result2) > 0) {
while ($row = mysqli_fetch_assoc($result2)) {
$ans = $ans . $row["driver"];
$ans = $ans . " ";
$x = $row["driver"];
echo "$x";
echo "a";
}
$ans = $ans . "asd";
echo "$ans";
} else {
echo "b";
}
编辑:修正了我错误的变量名后,尽管存在3行数据,但“ SELECT *”查询仍返回零行。
解决方法
您检查了错误变量mysqli_num_rows($result) > 0
的计数。
$mysql_qry2 = "SELECT * FROM $username";
$result2 = mysqli_query($conn,$mysql_qry2);
$ans = "";
if ($result2->num_rows > 0) {
// output data of each row
while($row = $result2->fetch_assoc()) {
$ans = $ans . $row["driver"];
echo "$ans";
echo "a";
}
} else {
echo "b";
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。