ما هو الفرق بين addslashes و mysql_real_escape_string
ماه والفرق بين هذه الدوال ؟
$str='example'; echo addslashes($str); echo mysql_real_escape_string($str); الرجاء الافادة من ناحية السرعة والاكثر امانا . وشكرا لكم على تجاوبكم السريع خاصة العضو MacOS
1 إجابة
addslashes هى دالة لوضع / او ما يسمى بالسلاش للحماية من كسر نهايات الاستعلامات خلال علامات التنصيص " .
اما دالة mysql_real_escape_string لا تضع سلاش فقط بل تأمن المتغير ككل. فيفضل عند تأمين الاستعلامات استعمال دالة mysql_real_escape_string لانها متخصصة فى ذلك الامر ويمكنك استعمال دالة مثل هذه لفعل الامر function db_escape($values, $quotes = false) { if (is_array($values)) { foreach ($values as $key => $value) { $values[$key] = db_escape($value, $quotes); } } else if ($values === null) { $values = 'NULL'; } else if (is_bool($values)) { $values = $values ? 1 : 0; } else if (!is_numeric($values)) { if(!get_magic_quotes_gpc()){ $values = mysql_real_escape_string($values); }else{ $values = $values; } if ($quotes) { $values = '"' . $values . '"'; } } return $values; } بواسطة: molhm 4 من 4 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا كل الشكر والتقدير مني لك molhm على هذا التجاوب السريع |
من فضلك حاول مراجعة هذا - Prepared statements and stored procedures وانت قارنت بين الدالتين لا تستعمل addslashes واستعمل mysql_real_escape_string
7 / مايو / 2012 الساعة 18:43