2012-01-07 49 views
0

我有一個JSON對象,我想在我的數據庫存儲:我需要escape_string爲json_encoded對象嗎?

$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); 

當我json_encode和mysqli_real_escape_string,它出現在我的分貝以下:

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

很顯然,我不知道想要邀請黑客,但它似乎是一個瘋狂的數量的斜線......我需要做json_encode或mysqli_real_escape_string,或者我可以只使用json_encode?

回答

3

您已經在使用參數化查詢 - mysqli_real_escape_string()在這種情況下不再需要。 (事實上​​,這是錯誤的,因爲它打破了數據。)

相關問題