من آموزشی از Kevin Skoglund در مورد نحوه غلبه بر مشکل کاراکترهای خاص مثل (‘)، (“) و (\) در query های MySQL دیدم و به نظرم جالب آمد. راه ساده روشن کردن magic_quotes_gpc در تنظیمات PHP می باشد ولی همانطور که می دانید تنظیمات همه server ها یکی نمی باشد.
راه دوم استفاده از mysql_real_scape_string می باشد ولی این function از نسخه 4.3.0 اضافه شده و استفاده از آن می تواند برای نسخه های قبلی مشکل ساز باشد.
بهترین راه، استفاده از ترکیب آنها در یک function می باشد :
[PHP]
function mysql_clean($value) {
$magic_quotes_active = get_magic_quotes_gpc();
$new_enough_php = function_exists("mysql_real_scape_string");
if ($new_enough_php) {
if ($magic_quotes_active) {
$value = stripslashes($value); }
$value = mysql_real_scape_string($value);
} else {
if (!$magic_quotes_active) {
$value = addslashes($value); }
}
return $value;
}
[/PHP] امیدوارم برایتان مفید باشد