2016-11-02 3 views
3

私はmysqli接続を使用しています。それはスラッシュを追加PHP - 文字列のためにstripshalesを使用した後にスラッシュが来る

$site_description = $conn->real_escape_string($_POST['site_description']); 
$conn->query("UPDATE `r_site_details` SET `site_description` = '".$site_description."' WHERE `id` = ".$id); 
input : Telangana's 

以下の構文を使用してDBにデータを記憶

$conn = new mysqli($host, $user, $password, $database); 

。 しかし、私出力がstripslashesとの値は、そのはまだあなたを助けることができる文字列

$query = $conn->query("select * from r_site_details where id=$id")or die(mysqli_error()); 
$result = $query->fetch_assoc(); 
    echo stripslashes($result["site_description"]) // output : Telangana\'s 
+1

起こっがたくさんあります。 - ここには表示されていない - フォームをポストしてからデータベースクエリから変数をエコーするまでの間に変数を異なる段階で 'var_dump() 'することで、問題がどこにあるかを知ることができます。 – jeroen

+0

大丈夫私は完全なスクリプトを投稿してくれてありがとう@jeroen –

+0

どの変数がどの段階でどのような値を持っているのか、たとえばPOST値を取得したときにすでにエスケープされている可能性があります。 – jeroen

答えて

2

いけない、それが正常に動作だけでスラッシュを交換しようとした、最適化ソリューションを検索し、

echo str_replace('\"', '"',str_replace("\'", "'", $result["site_description「]));

誰も私に代替ソリューションを提案することができます

関連する問題