Вставьте файл в базу данных mysql как тип данных varbinary

У меня ошибка, когда я хочу вставить свой файл в базу данных. У меня есть столбец file_proposal, который имеет тип данных VARBINARY (100). Поэтому я отлил свой файл, который сохранен в переменной $ content, в тип данных VARBINARY. Но я получаю ошибку.

вот моя ошибка

SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 В синтаксисе SQL имеется ошибка; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с ‘VARBINARY (100)))’ в строке 1

это мой запрос

$sql = $db->query("INSERT INTO `proposal` (`id_mhs`, `id_status`, `judul_proposal`, `abstraksi_proposal`, `nama_file_proposal`, `file_proposal`) VALUES ('$id_mhs',2,'$judul_proposal', '$abstraksi_proposal', '$file_proposal', (CAST('$content' AS VARBINARY(100)))");

и это моя база данных:
база данных предложений

1

Решение

Нужно использовать двойные кавычки

Попробуйте этот запрос:

$sql = $db->query("INSERT INTO `proposal` (`id_mhs`, `id_status`, `judul_proposal`, `abstraksi_proposal`, `nama_file_proposal`, `file_proposal`) VALUES ('".$id_mhs."','2','".$judul_proposal."', '".$abstraksi_proposal."', '".$file_proposal."', (CAST('".$content."' AS VARBINARY(100)))");
0

Другие решения

я решил эту проблему. это мой запрос:

$sql = $db->query("INSERT INTO `proposal` (`id_mhs`, `id_status`, `judul_proposal`, `abstraksi_proposal`, `nama_file_proposal`, `file_proposal`) VALUES ('$id_mhs', $id_status, '$judul_proposal', '$abstraksi_proposal', '$file_proposal', CONVERT('$content', BINARY))");
0

По вопросам рекламы [email protected]