从MySQL查询结果中只检索一列

时间:2013-03-21 20:36:55

标签: php mysql

我正在尝试从数据库中提取的数据创建一系列链接。

这是我正在运行的查询:

<?php
$result = $db->query("SELECT imageurl FROM products WHERE name LIKE '%$id%' OR title LIKE '%$id%' OR category LIKE '%$id%' LIMIT 0, 15");
while($row = $result->fetch_row())
{
echo '<a href="'.print_r($row).'">'.$row.'</a>'.'<br />';
} ?>

“imageurl”列包含图像的完整URL。请注意,我使用的是ProcessWire CMS,它是唯一查询引用的来源。

结果输出从数据库返回正确的条目。搜索工作。但是,它们实际上是一系列这样的行:

Array ( [0] => http://imagesource.net/graphics/product_images/pACE3-8573838t212.jpg ) Array

末尾的“数组”一词包含一个超链接,但它没有链接到正确的URL。

我确定这是一个明显的错误。谁能指出什么是错的?

3 个答案:

答案 0 :(得分:2)

试试这个:

echo '<a href="'.$row[0].'">'.$row[0].'</a>'.'<br />';

答案 1 :(得分:2)

变化:

echo '<a href="'.print_r($row).'">'.$row.'</a>'.'<br />';

为:

echo '<a href="'.$row['imageurl'].'">'.$row['imageurl'].'</a>'.'<br />';

或:

echo '<a href="'.$row['imageurl'].'">'.basename($row['imageurl']).'</a>'.'<br />';

答案 2 :(得分:0)

while($row = $result->fetch_row())
{
  echo '<a href="'.print_r($row[0]).'">'.$row[0].'</a>'.'<br />';
} ?>