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