我在PHP中使用Postgresql作为后端。该数据库已由其他人设计。现在我想使用PHP从数据库中检索图像。但是我无法从数据库中检索图像。我使用此代码检索图像,但它只显示网页中不可读的字符。有时它显示一个小图标(就像我们在网页中没有任何图像时),但大多数情况下显示一个空白页面。存储图像的数据类型是“bytea”。我用来显示图像的代码如下:
$conn = pg_connect("user=xxxx password=xxxx dbname=xxxx host=xxxx");
$res = pg_query($conn, "SELECT scan_image FROM t1scandoc where image_srno='1'");
while(pg_fetch_array($res))
{
if (pg_result($res,2))
{
WriteImageToFile(pg_result($res,0),$dir.pg_result($res,1),pg_result($res,2));
}
}
答案 0 :(得分:1)
您没有阅读结果属性。
pg_result()
不是由PostgreSQL扩展定义的函数。pg_fetch_array()
的返回值存储在变量中。以下代码应将scan_image
值输出到浏览器。
$conn = pg_connect("user=xxxx password=xxxx dbname=xxxx host=xxxx");
$res = pg_query($conn, "SELECT scan_image FROM t1scandoc where image_srno='1'");
if($row = pg_fetch_array($res)) // Output only one row, we can't output multiple
{
echo $row['scan_image'];
}
我很遗憾不知道您scan_image
的文件格式。不要忘记发送正确的标题。