0

2 つの配列 (質問とコメント) を組み合わせたこのループがあります。コメント フィールドで引用符とアポストロフィを使用できるように、エスケープしたいと思います。

$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_keys を使用して array_map / array_walk を試しましたが、同じ効果があります。

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

$_REQUEST 配列全体に対して mysql_real_escape_string() を使用しますか、それともループする必要がありますか?

mysql_real_escape_string()関数で配列のデータをチェックしたい

mysqli_real_ecape_string で配列全体をどのようにエスケープしますか? どんな助けでも大歓迎です!

4

2 に答える 2

0

名前が示すように、mysqli_real_escape_string()文字列を操作します。一度に配列全体を渡すことはできません。配列をループして、各要素を個別にエスケープする必要があります。

于 2013-06-18T17:42:19.700 に答える