使用 PHP 将图像存储到 SQL 服务器
Store image to SQL Server using PHP
我正在尝试使用 PHP
将图像保存到 SQL 服务器数据库中
CREATE TABLE [dbo].[ImageList](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Image] [varbinary](max) NULL,
[FactID] [varchar](50) NULL,
我的代码是:
$img_data = (file_get_contents($_FILES['glryimage']['tmp_name']));
$tsql = "INSERT INTO dbo.ImageList (
FactID,
Image)
VALUES
(?, ?)";
$var = array($FactID, $img_data);
if (!sqlsrv_query($conn, $tsql, $var)) {
if( ($errors = sqlsrv_errors() ) != null) {
foreach( $errors as $error ) {
echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
echo "message: ".$error[ 'message']."<br />";
}
}
} else {
}
当尝试插入数据库时出现错误
SQLSTATE: IMSSP
message: An error occurred translating string for input param 4 to UCS-2: No mapping for the Unicode character exists in the target multi-byte code page.
请问如何存储图像。
提前致谢。
这可能是由于 UTF-8
和 UTF-16
字符编码可能不受服务器支持 bin2hex
PHP 功能可能会解决问题,只需给试试看
$img_data = bin2hex(file_get_contents($_FILES['glryimage']['tmp_name']));
使用 PHP 文档作为参考。
我正在尝试使用 PHP
将图像保存到 SQL 服务器数据库中CREATE TABLE [dbo].[ImageList](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Image] [varbinary](max) NULL,
[FactID] [varchar](50) NULL,
我的代码是:
$img_data = (file_get_contents($_FILES['glryimage']['tmp_name']));
$tsql = "INSERT INTO dbo.ImageList (
FactID,
Image)
VALUES
(?, ?)";
$var = array($FactID, $img_data);
if (!sqlsrv_query($conn, $tsql, $var)) {
if( ($errors = sqlsrv_errors() ) != null) {
foreach( $errors as $error ) {
echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
echo "message: ".$error[ 'message']."<br />";
}
}
} else {
}
当尝试插入数据库时出现错误
SQLSTATE: IMSSP
message: An error occurred translating string for input param 4 to UCS-2: No mapping for the Unicode character exists in the target multi-byte code page.
请问如何存储图像。
提前致谢。
这可能是由于 UTF-8
和 UTF-16
字符编码可能不受服务器支持 bin2hex
PHP 功能可能会解决问题,只需给试试看
$img_data = bin2hex(file_get_contents($_FILES['glryimage']['tmp_name']));
使用 PHP 文档作为参考。