将图像插入数据库时​​,mysql中的语法错误

时间:2014-05-03 18:26:31

标签: php mysql

我是mysql的新手,我真的很感激任何帮助。我想要做的是将图像上传到数据库中的特定行,然后在用户页面中显示图像。我得到的错误是:

  

查询错误:
  您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以便在第4行'WHERE id = 1'附近使用正确的语法。

这是引用的代码段:

$sql = "INSERT INTO users5 (image, imageName)
        VALUES ('{$imgData}', '{$_FILES['userfile']['name']}')WHERE id = $id;";

1 个答案:

答案 0 :(得分:0)

  

我想要做的是将图片上传到数据库中的特定行

如果已存在行,则必须使用UPDATE命令。

$sql = "UPDATE users5 SET image = ?, imageName = ? WHERE id = ?";
$stmt = $mysqli->prepare( $sql );
$stmt->bind_param( 'ssi', $imgData, $_FILES['userfile']['name'], $id );

根据建议,您最好安全地使用prepared statement to bind parameter值占位符,避免使用SQL injection