将BLOB图像插入BLOB列

时间:2018-09-05 07:04:37

标签: php mysql

我有一个php脚本,其中包含一个BLOB session image。我想将其插入BLOB列中。

我的错误代码

<?php
require 'config.php';
$userName = "John";
$aVatar = $_SESSION['userImage']; //[BLOB] - from MySql BLOB image
$query = "INSERT INTO `users`(`username`, `avatar`) VALUES ('$userName', '$aVatar')";
if($conn->query($query) == TRUE){
    echo "Done!";
}
?>

当我发布此消息时,它显示了很长的字符串到我的页面中!和以下所有消息:
enter image description here

1 个答案:

答案 0 :(得分:2)

这里的问题是,如果变量$_SESSION['userImage']包含任何',则查询将无效。因此,您应该使用mysql_escape_string()对其进行消毒:

$query = "INSERT INTO `users`(`username`, `avatar`) VALUES ('$userName', '" . mysql_escape_string($_SESSION['userImage']) . "')";

您还可以在分配blob变量时使用addslashes()来解决此问题:

$aVatar = addslashes($_SESSION['userImage']);