【问题标题】:Get Path of Image in PHP/SQLite在 PHP/SQLite 中获取图像的路径
【发布时间】:2013-03-07 03:59:25
【问题描述】:

我正在尝试在 SQLite 数据库中获取图像的路径。这是我的代码:

<img src="<?php
    $database = new PDO("sqlite:database.sqlite");
    $database->query("SELECT path FROM images WHERE receiverId = '$_COOKIE['session']'");
?>" />

表格是图片,用户的id存储在cookie中。

一张图片有 3 个条目:idsenderIdreceiverId。如果receiverId 与cookie id(用户id)相同,则应显示图像。但是,此代码不起作用。如何修复/重新编码?

【问题讨论】:

  • 您确定receiverId 和$_COOKIE['session'] 给出了相同的结果吗?那不是你不行吗?
  • 我做到了。我认为我的主要问题是,查询的返回是一个可以用作 src 的字符串吗?
  • 你为什么不在 src 之外做呢?并将值分配给变量并在 src 中回显结果?
  • 更重要的问题为什么这里没有使用echo
  • 看看here

标签: php html sql sqlite


【解决方案1】:

您需要获取查询的结果:

<?php

  $database = new PDO('sqlite:database.sqlite');
  $r = $database->query('SELECT path FROM images WHERE receiverId = ' . $database->quote($_COOKIE["session"]));
  $v = $r->fetch(PDO::FETCH_ASSOC);

?>
<img src='<?= $v["path"] ?>'>

为了更容易找到您的问题,添加一些调试语句:

// ... create $database
$database->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// ... run the query (creating $r)
var_dump($r);

// ... fetch the results
var_dump($v);

【讨论】:

  • 还是不行。它甚至不显示丢失的图像徽标。
  • $r的值是否为假?如果是这样,PDO 是否会给您错误消息?
  • 只是为了确定,结果标签是&lt;img src=''&gt;,对吗?
  • 您说图像每个有 3 个条目(idsenderIdreceiverId)。您是否将path 列添加到数据库中?
  • 对不起,id 条目应该是“路径”。
猜你喜欢
  • 2013-02-22
  • 1970-01-01
  • 2011-07-04
  • 2020-09-18
  • 1970-01-01
  • 2021-02-05
  • 1970-01-01
  • 2014-09-27
  • 2012-06-08
相关资源
最近更新 更多