0

テキストのブロックを受け取り、それを SQL データベースに挿入するフォームを作成しました。ユーザーが一重引用符を使用すると、SQL エラーが発生し続けました。addslashes() 関数を追加したところ、すべてうまくいきました。しかし、w3 によると、php はすでにこれを行っているはずです。さらに、データベースからテキストを取得すると、すべてのアポストロフィが � 文字に置き換えられます。

何が起こっているか知っている人はいますか?どこから始めればよいかさえわかりません。

4

2 に答える 2

0

みんな、ありがとう。

mysql_escape_string() が機能しました。ちなみに、addslashes() はアポストロフィをバッククォートに変えていました。問題

于 2012-09-20T13:34:16.063 に答える
0

これらの関数を使用して、db にデータを挿入したり、db からデータを挿入したりします
。これらは、単一引用符または二重引用符、およびすべての特別なチャーターの問題を解決します。

function DBin($string) 
{
    return  trim(htmlspecialchars($string,ENT_QUOTES));
}

function DBout($string) 
{
    $string = trim($string);
    return htmlspecialchars_decode($string,ENT_QUOTES);
}
于 2012-09-20T06:25:33.283 に答える