我想将文件插入数据库时出错。我有file_proposal具有 VARBINARY(100( 数据类型的列。所以我将保存在变量中的文件转换为 VARBINARY 数据类型$content。但是我得到一个错误。
这是我的错误
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)))");
这是我的数据库: 提案数据库
需要使用双引号
试试这个查询:
$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))");