$serv = "xxx";
$user = "xxx";
$pass = "xxx";
$db = "xxx";
$imgloc = "../images/bg.jpg";
$image = fopen($imgloc, 'rb');
$imageContent = fread($image, filesize($imgloc));
$conn = new mysqli($serv, $user, $pass, $db);
$sql = "INSERT INTO `image`(`advert_id`,`img`) VALUES('1','" . $imageContent . "');";
$conn->query($sql);
我正在使用上面的代碼嘗試向我的MySQL數據庫中插入二進制文件,但沒有任何內容正在發送到數據庫。 $ imageContent僅在數據庫中顯示爲空,但如果我回顯$ imageContent,它似乎顯示二進制數據。將二進制插入到MySQL BLOB
advert_id只是一個INT領域和IMG是BLOB
你很容易受到[SQL注入攻擊(http://bobby-tables.com )。你不能只是隨機二進制垃圾到查詢字符串,並期望事情工作。 –
http://php.net/manual/en/mysqli.prepare.php和http://php.net/manual/en/mysqli-stmt.bind-param.php – AbraCadaver
我應該使用哪些函數來清除它? –