sql server insert extract blob data

时间:2016-10-10 14:57:57

标签: php sql sql-server blob varbinary

我有一个代码,在sql服务器表中插入图像或pdf我认为插入正常,但当我必须提取de数据显示在HTML页面,没有显示任何内容。我看到很多例子,而且这些查询似乎很好。我不知道错误在哪里,代码如下:

从代码表中接收值的php代码:

$destino = addslashes( file_get_contents( $value['tmp_name'] ) );

$tmpName = $value['tmp_name'];

$fp = fopen($tmpName, 'r');

$data = fread($fp, filesize($tmpName));

$destino = ($data);

fclose($fp);

$tamano = $value['size'];

$tipo   = $value['type'];

$nombre = $value['name];

$sql="INSERT INTO documents 
    ( nombre, archivo,extension ) 
    VALUES 
    (:nombre, cast(:archivo as varbinary(max)), :extension )";

$valores = array(

    ':nombre'       =>$item->nombre,
    ':archivo'      =>utf8_encode( $item->archivo ),
    ':extension'    =>$item->extension);

我在数据库中检查并插入良好。

当我执行选择查询以获取存储的值并在网页中显示时,我有以下代码:

$sql = "SELECT nombre,CAST(archivo as VARCHAR(MAX)) as archivo,extension from documents WHERE id= :id";

$valores=array(':id' => $id );

最后让这段代码在视图中打印图像或pdf。

$doc = $servi->findDocById( $_GET['id'] );

header("Content-type: {$doc->extension}");

echo ( $doc->archivo );

这在视图中显示什么都没有。谁知道哪里出错了?

谢谢

0 个答案:

没有答案