我有一个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 %# , #&')*)发布于 2017-04-12 12:54:51
经过长时间的检查,找出答案。因为我在其他子函数中更改了pdo字符。
$db->exec(“设置字符集utf8");
因此,PDO在将图像字符串decode作为blob插入mysql时进行了更改。
我只是取消了这一行的注释。一切都运行良好。干杯!
https://stackoverflow.com/questions/43316428
复制相似问题