尝试从数据库获取动态链接到<img src="(link here)"/>

时间:2017-05-12 14:22:49

标签: php html

我正在尝试显示图像。我这样做是通过获取在线图像的链接并将其传递给变量然后进入&#34; src&#34; <img>标签。我尝试过这几种方式,但没有任何作用。

我知道如何使用文件夹和下载的图像进行此操作,但我想通过在线链接执行此操作。像谷歌图片。

注意:链接被放入数据库,当我print_r($plaatje)时,它会显示实际的链接。但是当我尝试将其粘贴到HTML元素中时,它不起作用。我觉得我犯了一个简单的错误,但我无法找到它。

    $plaatje_link = $connect->prepare("SELECT `plaatje_link` FROM `test`                 
    WHERE plaatje_id = 1");
    $plaatje_link->execute();
    $plaatje = $plaatje_link->fetch();

    array_shift($plaatje);
    implode($plaatje);
    ?>
    <div style="height: 100%; width: 100%;">
    <img src="<?php echo $plaatje ?>" alt="Ja, foto wil niet"/>
    </div>

P.S。 array_shift就在那里,因为出于某种原因它给了我两倍的喜欢。所以使用array_shift它会移除一个并留下我需要的1个值。

2 个答案:

答案 0 :(得分:1)

implode($plaatje);按价值工作,而不是参考。原始数组未被修改。因此,在此implode操作之后,$plaatje仍然是数组,而不是字符串。

此外->fetch()有不同的模式,默认为&#39; BOTH&#39;,这意味着它会将结果作为包含编号索引和关联的数组返回。有关详细信息,请参阅PDOStatement::fetch

答案 1 :(得分:0)

您必须:

$plaatje = implode($plaatje); // convert it to a string ** for the specific example at least

或改变

<img src="<?php echo $plaatje ?>" alt="Ja, foto wil niet"/>

<img src="<?php echo $plaatje['plaatje_link']?>" alt="Ja, foto wil niet"/> // or $plaatje[0]

因为您无法回显数组。