php - 如何解决非法字符串偏移错误并显示以下代码片段中的表格?

标签 php mysql pdo

我正在尝试使用以下 PHP 和标记显示来自 MySQL 本地数据库的数据。

<html>
<table>
<tr>
    <th>field1</th>
    <th>field2</th>
    <th>field3</th>
</tr>
<?php
$dbh = new PDO("mysql:host=localhost;dbname=dbtest", 'root', 'root');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sth = $dbh->prepare("SELECT `fruit_id`, `name`, `variety` FROM fruit");
$sth->execute();
?>
<?php foreach($sth->fetch(PDO::FETCH_ASSOC) as $row) : ?>
<tr>
    <td><?php echo $row["fruit_id"]; ?></td>
    <td><?php echo $row["name"]; ?></td>
    <td><?php echo $row["variety"]; ?></td>
</tr>
<?php endforeach;?>
</table>

我收到同样的非法字符串偏移错误。另外,我想由于这些原因,我也无法显示我的表格。我是使用 PHP 处理数据库的新手,在发布自己的问题之前,我也确实研究了有关非法字符串偏移错误的其他问题,但由于我的初学者水平的专业知识,我不太能够理解答案。谁能帮我删除错误并显示表格吗?

最佳答案

在 foreach 中使用 $sth->fetchAll(),因为 $sth->fetch() 只会返回单行。

<?php foreach($sth->fetchAll() as $row) : ?>

关于php - 如何解决非法字符串偏移错误并显示以下代码片段中的表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37724332/

相关文章:

mysql - mysql 中可能有区分重音和不区分大小写的 utf8 排序规则吗?

php - 文件未上传到数据库。验证好吗?

php - php 脚本中 ssl 的潜在问题

php - 如何隐藏 native php 中我网站上链接的其他网站的链接

php - Mysql插入问题

php - 将下拉列表中的 ID 保存到其他表中

php - 正则表达式匹配某些数字组合模式

javascript - 我的情况使用什么缓存技术?

php - 在PDO中通过MySQL命令传递PHP session 变量

php - PDO::PARAM_INT 在 bindParam 中很重要吗?