0

我有这个循环,它结合了两个数组(问题和评论),我现在想转义它,这样我就可以在评论字段中使用引号和撇号。

$result = array();

    foreach ($questions as $key => $value){

        $value = mysqli_real_escape_string($value);

        if (array_key_exists($key, $comments)){

            $comments = mysqli_real_escape_string($comments);

            $result[$key] = "$value~ {$comments[$key]}";

        }else{

            @$result[$key] = "$value~ ";

             }

    }

出于某种原因 mysqli_real_escape_string 正在敲除这些值(只留下分隔符 (~))。

我在循环外尝试了 array_map / array_walk 和 array_keys 但它具有相同的效果:

$comments = array_map("mysqli_real_escape_string", array_keys($comments));

mysql_real_escape_string() 用于整个 $_REQUEST 数组,还是需要循环遍历它?

我想用 mysql_real_escape_string() 函数检查数组的数据

如何使用 mysqli_real_ecape_string 转义整个数组?任何帮助将不胜感激!

4

2 回答 2

0

用一个简单的while循环解决了这个问题:

    $i = 0;
    while($i < 30){
    $result[$i] = mysqli_real_escape_string($link, $result[$i]);
    $i++;
    }
于 2013-06-18T18:18:39.700 回答
0

顾名思义,mysqli_real_escape_string()对字符串进行操作 - 您不能一次将整个数组传递给它。您需要遍历数组并单独转义每个元素。

于 2013-06-18T17:42:19.700 回答