数组文件输入为mysqli_real_escape_string生成警告

时间:2016-06-27 16:37:29

标签: php post file-upload

我已将此代码写入配置文件(包含在任何地方)以避免sql注入

$_POST = array_map("mysql_escape",$_POST);

这是函数定义

function mysql_escape($input)
{
    global $conn;
    return mysqli_real_escape_string($conn,$input);
}

问题是我将此输入添加到表单时

<input id="photoUpload" type="file" name="TourPhoto[]" value='1' multiple accept="image/*">

并提交表格,我看到了这个警告:

  

警告:mysqli_real_escape_string()期望参数2为字符串,   在第6行的C:\ xampp \ htdocs \ project \ functions.php中给出的数组

虽然脚本有效但文件上传成功

如果我改变了#34; TourPhoto []&#34;到&#34; TourPhoto&#34;,警告消失;但我需要输入多个文件,我想知道我哪里错了? 在此先感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我试过这段代码

function mysql_escape($input)
{
    global $conn;
    if(is_array($input))
        return array_map("mysql_escape",$input);
    else
        return mysqli_real_escape_string($conn,$input);
}

似乎有效