我试图获取存储在数据库中的图像名称并显示它,但它不起作用?谁能告诉我下面的代码有什么问题:<p class="phase-title-en"><?php $title="SELECT DISTINCT record_step_one FROM phase_one_data"; $vartitle=$dbh->prepare($title); $vartitle->execute(); $result= $vartitle->fetch(); ?> </p> <?php foreach($result as $fn_title) { echo "<p> '".$fn_title['record_step_one']."'</p>"; } ?>我的数据库看起来像这样:-
1 回答

智慧大石
TA贡献1946条经验 获得超3个赞
您的主要问题是您使用的是 PDOfetch()
方法,该方法仅返回结果集的下一行(在您的情况下为第一行)。
这样,当您执行 a 时foreach
,您实际上是在迭代第一行的列(而不是按照您的预期遍历所有行)。
因此,您的代码可能会抛出大量错误消息(实际上是 E_NOTICES),告诉您您正在尝试将字符串用作数组,因为循环 ( $fn_title
) 中的每个值都是包含第一行 (5, 2、鹰等)。
编辑:对不起,但在我的原始回复中,我没有注意到您查询中的 DISTINCT 关键字。所以实际上,foreach 只会运行一次,并且值将是 string eagle
。但是,问题还是一样,record_step_one
string 里面没有索引eagle
。
您的解决方案的第一步是替换fetch()
为fetchAll()
,并检查可能出现的任何其他错误(例如,我们看不到$dbh
您的代码中在哪里被实例化,这可能是也可能不是问题)。
- 1 回答
- 0 关注
- 176 浏览
添加回答
举报
0/150
提交
取消