我正在尝试在屏幕上显示具有特定主题的图像。我有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变量,因此您将销毁结果句柄...并最终由于句柄已消失而无法再获取任何数据。