Сохранение файла изображения на SQL Server с использованием php

#php #sql-server

#php #sql-сервер

Вопрос:

У меня есть таблица SQL Server со столбцом под названием personal image с image типом данных.

Я хочу вставить или обновить это поле, используя расширение PHP sqlsrv .

У меня есть этот файл изображения для запроса обновления, и я пытаюсь это сделать, но изображение вставлено неправильно.

 function prepareImageDBString($filepath)
{
    $out = 'null';
    $handle = @fopen($filepath, 'rb');
    if ($handle)
    {
        $content = @fread($handle, filesize($filepath));
        $content = bin2hex($content);
        @fclose($handle);
        $out = "0x".$content;
    }
    return $out;
}

$out = prepareImageDBString('871190915.jpg');

$update = "UPDATE Person SET PersonelImage=(?) WHERE no=871190915";
$image1=array($out);
sqlsrv_query($conn, $update, $image1);
  

Кто-нибудь может мне помочь?

Комментарии:

1. Вы пытались проверить наличие ошибок с помощью использования sqlsrv_errors ( php.net/manual/en/function . sqlsrv-errors.php ) после выполнения вашего sqlsrv_query?

2. @becquerel ошибка с sqlsrv_errors не найдена

3. ОК. И человек существует, где нет 871190915? (просто хочу перепроверить). Кроме того, «no» — это зарезервированное слово в MySQL, поэтому оно также может помочь поместить no вместо этого, но это может не решить проблему.