从mysql表中获取数据并显示

我试图获取存储在数据库中的图像名称并显示它,但它不起作用?谁能告诉我下面的代码有什么问题:


<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>";

    }

    ?>

我的数据库看起来像这样:-

http://img2.mukewang.com/61c576120001ecc415580290.jpg

MM们
浏览 177回答 1
1回答

智慧大石

您的主要问题是您使用的是 PDOfetch()方法,该方法仅返回结果集的下一行(在您的情况下为第一行)。这样,当您执行 a 时foreach,您实际上是在迭代第一行的列(而不是按照您的预期遍历所有行)。因此,您的代码可能会抛出大量错误消息(实际上是 E_NOTICES),告诉您您正在尝试将字符串用作数组,因为循环 (&nbsp;$fn_title) 中的每个值都是包含第一行 (5, 2、鹰等)。编辑:对不起,但在我的原始回复中,我没有注意到您查询中的 DISTINCT 关键字。所以实际上,foreach 只会运行一次,并且值将是 string&nbsp;eagle。但是,问题还是一样,record_step_onestring 里面没有索引eagle。您的解决方案的第一步是替换fetch()为fetchAll(),并检查可能出现的任何其他错误(例如,我们看不到$dbh您的代码中在哪里被实例化,这可能是也可能不是问题)。
打开App,查看更多内容
随时随地看视频慕课网APP