动态 HTML 图像链接从 PHP 中的数据库中提取错误信息

Dynamic HTML image links pulling wrong information from database in PHP

运行 XAMPP 对于 Windows 7.2.6。下面是我的 MariaDB 艺术 table 来自数据库。

代码:

<?php

            $conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
            $sql = "SELECT * FROM art LIMIT 50";
            $st = $conn->prepare( $sql );
            $st->execute();
            $row = $st->fetch();
            $conn = null;
            if (isset($row)) {

                echo "row has value";

                 foreach ($row as $value) {

                  echo "<a href=\"/admin.php?action=editProducts&product=" . $value[0] . "\"><img src=\"" .  $value[2] .
                        "\" width=\"75\" height=\"75\" title=\"" . $value[6] . "\"></a>";
                  echo "<br>";

                    }
            }

            ?>

HTML 当我检查来源时的图片链接

<a href="/admin.php?action=editProducts&product=a"><img src=" " width="75" height="75" title="c" ></a>

row has value 正在打印到浏览器,我在调试器中看到 $row 数组具有正确的值。我不明白为什么它只从艺术 table 中提取 1 个随机字符而不是正确的值,我的每一行的错误代码是:

Notice: Uninitialized string offset: 1

如您所用

$row = $st->fetch();

这只是 table 中的一行数据,因此使用

foreach ($row as $value) {

只是循环遍历那 1 行中的字段。您需要对其进行更改,以便第一部分使用 fetchAll()...

一次性检索所有行
$row = $st->fetchAll();

为了语义目的,您可能应该将值更改为 $rows(只是说它是一组行,而不仅仅是一行)。