我正在尝试在屏幕上显示具有特定主题的图像。我有5张具有相同主题的图像,并且只显示一张图像。如果我更改了数据库中图像的主题,则会显示下一个带有我尝试调用的主题的图像。

function selectSubject($subject){
        $showSubject = mysql_query("SELECT name FROM images WHERE subject = '$subject'");
        while($showSubject = mysql_fetch_array($showSubject)){
                $source_subject_trees = $showSubject['name'];
                echo "<img class=\"subject_images\" src='img/$source_subject_bomen'></>";
        }
    };

最佳答案

mysql_query()返回结果句柄。然后,通过在while()循环中重新分配该句柄,从而遍历该句柄:

$showSubject = mysql_query(...);

while($showSubject = msyql_fetch_array($showSubject)) {
      ^^^^^^^^^^^^---here


mysql_fetch_array()返回一行数据的数组。由于在存储实际查询结果句柄时要分配给SAME变量,因此您将销毁结果句柄...并最终由于句柄已消失而无法再获取任何数据。

10-08 06:42