2012-01-07 4 views
0

私は私が私のDBに格納するJSONオブジェクトを持っている:私はjson_encodeとmysqli_real_escape_stringときjson_encodedオブジェクトのためにescape_stringする必要がありますか?

$string='{"test": [{"name":"dave","user":"dan"}]}'; 
    $encoded=json_encode($string); 

    $connection=Database::getInstance(); 
    $escaped=mysqli_real_escape_string($connection->connection,$encoded); 
    $q="UPDATE table SET column=?"; 

    $s=mysqli_prepare($conn->connection,$query); 
    mysqli_stmt_bind_param($s,'s',$escaped); 
    mysqli_stmt_execute($s); 

、私のデシベルに次のように表示されます。明らかに

\"{\\\"test\\\": [{\\\"name\\\":\\\"dave\\\",\\\"user\\\":\\\"dan\\\"}]}\" 

、私はしないでくださいハッカーを招待したいのですが、スラッシュが狂っているようです... json_encodeまたはmysqli_real_escape_stringの両方を行う必要がありますか?json_encodeを使うことはできますか?

答えて

3

既にパラメータ化されたクエリを使用しています。この場合、mysqli_real_escape_string()は必要ありません。 (実際には、データが破損するため間違っています。)

関連する問題