是否有必要使用mysql_real_escape_string()将图像导入mysql?

时间:2012-01-04 05:03:41

标签: php mysql sql image mysql-real-escape-string

例如:

    $data = file_get_contents($_FILES['image']['tmp_name']);
    $data = mysql_real_escape_string($data);
    mysql_query("INSERT INTO table set image='$data'....

这是坚持的正确方法吗?

2 个答案:

答案 0 :(得分:6)

您可以执行base64_encode来保持数据的完整性,并确保您不会遇到任何类型的字符问题,实际上这是保存和传输数据的常用方法。然后使用base64_decode来取回它。

答案 1 :(得分:0)

我建议保留它,除非有理由将其删除,因为它是防止sql注入的好方法。见这里:http://php.net/manual/en/function.mysql-real-escape-string.php

可能通过用户可以上传的图像或客户端可能意外使用的图像进行sql注入。

不使用它的原因可能是性能。我倾向于建议安全性而不是性能。