我在XAMPP中使用PHP和MySQL(mysqli),我有一个下拉菜单,用户必须选择一个,然后使用查询查找已选择的值的ID,但它不起作用。我已经做过三遍了,而且可以用,但是没有用。
$sql = "SELECT foo_id FROM foo_table
WHERE foo_name = 'bar';";
$res = $conn->query($sql);
for ($i = 0; $i < 500; $i++) {
$row = $res->fetch_assoc();
echo $row[row["foo_id"]]
}
问题在于即使$ res变量返回true,fetch_assoc也不返回任何内容。
编辑:我忘了提到在phpmyadmin中运行查询可以正常返回结果。
答案 0 :(得分:0)
我不确定您为什么要迭代500次以上?这没有道理。
从数据库中检索数据的最佳实践是
$sql = "SELECT foo_id FROM foo_table
WHERE foo_name = 'bar'";
$res = $conn->query($sql);
if ($res->num_rows > 0) {
// output data of each row
while($row = $res->fetch_assoc()) {
echo $row["foo_id"];
}
}
OR
$foo_id = ''
if ($res->num_rows > 0) {
// output data of each row
while($row = $res->fetch_assoc()) {
$foo_id = $row["foo_id"];
}
}
for ($i = 0; $i < 500; $i++) {
echo $foo_id;
}
答案 1 :(得分:0)
我找到了解决方案,问题是真正的数据库在记录中使用了希腊字符,并且必须将数据库设置为utf8-bin,这样做之后,它才能正常工作。