У меня ошибка, когда я хочу вставить свой файл в базу данных. У меня есть столбец 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)))");
и это моя база данных:
база данных предложений
Нужно использовать двойные кавычки
Попробуйте этот запрос:
$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)))");
я решил эту проблему. это мой запрос:
$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))");