-1
我想从我从git中复制的奇怪函数中读取变量。无法读取函数中的变量
这是原来的功能:
$values = array_map(function ($value) use ($connection) {
if ($value===null) return null;
// return mysqli_real_escape_string($connection,(string)$value);
return pg_escape_string($connection,(string)$value);
},array_values($input));
,我把它改为这个以使其适应我的需要(文件上传)
$values = array_map(function ($value) use ($connection) {
if ($value === null)
return null;
if (gettype($value) === "array"){
$tmpname=$value['tmp_name'];
$value=$value['name'];
}
return mysqli_real_escape_string($connection, (string) $value);
}, array_values($input));
的问题是,我不能从该函数外部读取$tmpname
。
任何人都可以帮助我吗?
http://php.net/manual/en/language.variables.scope.php – rtfm
你的脚本是在风险[SQL注入攻击](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) 即使[如果你正在逃避投入,它不安全!]( http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) 使用[prepared参数化语句](http://php.net/manual/en/ mysqli.quickstart.prepared-statements.php) – RiggsFolly
@RiggsFolly反正有没有使用param来保护它eterized语句? –