动态 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
(只是说它是一组行,而不仅仅是一行)。
运行 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
(只是说它是一组行,而不仅仅是一行)。