我有一个PHP脚本来保存上传的图像。它以前工作过,但上周没有用。
$cidimg = base64_decode( $_POST[ 'image' ] );
insertCustomerImage( $db,
$cid,
$cidimg );
function insertCustomerImage( $db,
$cid,
$cidimg )
{
try
{
$sql = "INSERT INTO customer_images ( cid,
cidimg )
VALUES ( :cid, :cidimg )
ON DUPLICATE KEY UPDATE cid = :cid,
cidimg =: cidimg,
created = Now()";
$query = $db -> prepare( $sql );
$query -> execute( array( ':cid' => $cid,
':cidimg' => $cidimg, ) );
}
catch( PDOException $e )
{
return false;
}
return true;
}
它可以将图像字符串作为BLOB
插入MySQL。但是当再次阅读时,它显示为空。如下所示(不是有效的JPEG标题):
????JFIF??C %# , #&')*)
答案 0 :(得分:0)
经过长时间的检查,弄清楚了。因为我在其他子功能中更改了pdo字符。
$ db-> exec(“SET CHARACTER SET utf8”);
因此当插入mysql时,PDO改变了图像字符串解码为blob。
我只是取消注释这一行。一切都运行良好。干杯!