在php中显示来自sql server数据库的图像

时间:2015-08-17 07:42:20

标签: php sql-server pdo

我正在尝试使用PDO在varbinary(max)字段中显示存储在sql server数据库中的图像。

order by date

上面的代码正确显示图像。如果我尝试按如下方式使用PDO,则会显示损坏的图像图标。

String.format("%0$-15s", str)

没有标题信息,它显示相同的数据。我做错了什么?

更新:当我放$conp = sqlsrv_connect("localhost", array("database"=>"dbname", "UID"=>"uid", "PWD"=>"somepassword")); $id=16; $stmt = sqlsrv_query($conp, "select image from image_tbl where id = $id"); $getAsType = SQLSRV_PHPTYPE_STREAM(SQLSRV_ENC_BINARY); if (sqlsrv_fetch( $stmt )) { $image = sqlsrv_get_field( $stmt, 0, $getAsType); header("Content-type:image/jpeg;"); fpassthru($image) } 时,它会正确存储图像。但我仍然无法在浏览器上显示它。可能与内容类型有关。不知道。 编辑:我已使用$sql = "SELECT image FROM image_tbl WHERE id = ?"; $stmt = $conp->prepare($sql); $stmt->execute(array(&$_GET['id'])); $stmt->bindColumn(1, $image, PDO::PARAM_LOB, 0, PDO::SQLSRV_ENCODING_BINARY); $stmt->fetch(PDO::FETCH_BOUND); header("Content-type:image/jpeg;"); echo $image; 更改file_put_contents('test.jpg', $data);

0 个答案:

没有答案