猿问

mysqli查询返回true,但fetch_assoc无法正常工作

我在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中运行查询会正常返回结果。


白衣染霜花
浏览 177回答 2
2回答

鸿蒙传说

我不确定为什么您要迭代500次以上?这没有道理。从数据库检索数据的最佳实践是$sql&nbsp; = "SELECT foo_id FROM foo_table&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WHERE foo_name = 'bar'";$res = $conn->query($sql);if ($res->num_rows > 0) {&nbsp; &nbsp;// output data of each row&nbsp; &nbsp;while($row = $res->fetch_assoc()) {&nbsp; &nbsp; &nbsp; echo $row["foo_id"];&nbsp; &nbsp;}&nbsp;}或者&nbsp;$foo_id = ''&nbsp;if ($res->num_rows > 0) {&nbsp; &nbsp;// output data of each row&nbsp; &nbsp;while($row = $res->fetch_assoc()) {&nbsp; &nbsp; &nbsp; $foo_id = $row["foo_id"];&nbsp; &nbsp;}&nbsp;}&nbsp;for ($i = 0; $i < 500; $i++) {&nbsp; &nbsp; echo $foo_id;&nbsp;}

杨__羊羊

我找到了解决方案,问题是真正的数据库在记录中使用了希腊字符,并且必须将数据库设置为utf8-bin,这样做之后,它才能正常工作。
随时随地看视频慕课网APP
我要回答