| 
                        ما هو الفرق بين 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