将文件作为varbinary数据类型插入mysql数据库

but5z9lq  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(514)

我想将文件插入数据库时出错。我有一个包含varbinary(100)数据类型的文件列。所以我将保存在$content变量中的文件转换为varbinary数据类型。但我犯了个错误。
这是我的错误
sqlstate[42000]:语法错误或访问冲突:1064您的sql语法有错误;检查与mariadb服务器版本相对应的手册,以获得在第1行“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)))");

这是我的数据库:提案数据库

vc9ivgsu

vc9ivgsu1#

需要使用双引号
尝试此查询:

$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)))");
vcirk6k6

vcirk6k62#

我解决了这个问题。我的问题是:

$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))");

相关问题