Я хочу сохранить изображение в базе данных.Я использую PHP 5.3, Jquery и SQL Server.Я использую поле VARBINARY (MAX) для хранения моего файла.Но он всегда возвращает «Неверный синтаксис рядом» в формате файловой строки.
Я прочитал все решения из stackoverflow и т. Д., Но ничего не получилось.
Это мой код
<?php
include "../../system/conn.php";
$xuser_id = $_POST['xuser_id'];
$xusername = $_POST['xusername'];
$xpassword = md5($_POST['xpassword']);
$xrealname = $_POST['xrealname'];
$xgrup_id= $_POST['xgrup_id'];
$stat = $_POST['stat'];
$ttd = file_get_contents($_FILES['file']['tmp_name']);
$query = "EXECUTE [dbo].[sp_pengguna] '$xuser_id','$xusername','$xpassword','$xrealname','','','$xgrup_id','','','$stat','$ttd'";
$input = mssql_query($query) or die(mssql_get_last_message());
print_r($input);
?>
и это моя таблица
и это моя функция
ALTER PROCEDURE [dbo].[sp_pengguna]
@user_id nvarchar(50),
@username nvarchar(20),
@password nvarchar(50),
@realname nvarchar(50),
@last_login nvarchar(50),
@last_login_ip nvarchar(50),
@grup_id nvarchar(50),
@input_date datetime,
@last_update datetime,
@stat varchar(20),
@ttd varbinary(max)
AS
SET NOCOUNT ON;
if @stat = 'delete' and @user_id<>''
begin
DELETE FROM [dbo].[pengguna]
WHERE [user_id] = @user_id
end
else
begin
if @user_id=''
begin
INSERT INTO [dbo].[pengguna]
([user_id]
,[username]
,[password]
,[realname]
,[last_login]
,[last_login_ip]
,[grup_id]
,[input_date]
,[last_update]
,[ttd_pengguna]
)
VALUES
(NEWID()
,@username
,@password
,@realname
,@last_login
,@last_login_ip
,@grup_id
,GETDATE()
,GETDATE()
,@ttd
)
end
else
begin
UPDATE [dbo].[pengguna]
SET [username] = @username
,[password] = @password
,[realname] = @realname
,[grup_id] = @grup_id
,[last_update]= @last_update
,[ttd_pengguna] = @ttd
WHERE [user_id] = @user_id
end
end;
, когда я пытаюсь загрузить изображение, оно всегдавозвращает «Неверный синтаксис рядом» это при попытке загрузить изображение PNG
это при попытке загрузить изображение JPEG
Iпонятия не имею об этом, у кого-нибудь есть решения?