テキストのブロックを受け取り、それを SQL データベースに挿入するフォームを作成しました。ユーザーが一重引用符を使用すると、SQL エラーが発生し続けました。addslashes() 関数を追加したところ、すべてうまくいきました。しかし、w3 によると、php はすでにこれを行っているはずです。さらに、データベースからテキストを取得すると、すべてのアポストロフィが � 文字に置き換えられます。
何が起こっているか知っている人はいますか?どこから始めればよいかさえわかりません。
テキストのブロックを受け取り、それを SQL データベースに挿入するフォームを作成しました。ユーザーが一重引用符を使用すると、SQL エラーが発生し続けました。addslashes() 関数を追加したところ、すべてうまくいきました。しかし、w3 によると、php はすでにこれを行っているはずです。さらに、データベースからテキストを取得すると、すべてのアポストロフィが � 文字に置き換えられます。
何が起こっているか知っている人はいますか?どこから始めればよいかさえわかりません。
みんな、ありがとう。
mysql_escape_string() が機能しました。ちなみに、addslashes() はアポストロフィをバッククォートに変えていました。問題
これらの関数を使用して、db にデータを挿入したり、db からデータを挿入したりします
。これらは、単一引用符または二重引用符、およびすべての特別なチャーターの問題を解決します。
function DBin($string)
{
return trim(htmlspecialchars($string,ENT_QUOTES));
}
function DBout($string)
{
$string = trim($string);
return htmlspecialchars_decode($string,ENT_QUOTES);
}