لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
ما هو الفرق بين addslashes و mysql_real_escape_string
ماه والفرق بين هذه الدوال ؟
$str='example';
echo  addslashes($str);

echo mysql_real_escape_string($str);

الرجاء الافادة من ناحية السرعة والاكثر امانا . وشكرا لكم على تجاوبكم السريع خاصة العضو MacOS
تاريخ البداية: 7 / مايو / 2012 الساعة 18:29 اخر نشاط: 7 / مايو / 2012 الساعة 22:46 php mysql

من فضلك حاول مراجعة هذا - Prepared statements and stored procedures وانت قارنت بين الدالتين لا تستعمل addslashes واستعمل mysql_real_escape_string
7 / مايو / 2012 الساعة 18:43

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
منذ: 7 / مايو / 2012 الساعة 18:36

كل الشكر والتقدير مني لك molhm على هذا التجاوب السريع
موقع ممتاز
7 / مايو / 2012 الساعة 22:46

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة