ציטוט:
נכתב במקור על ידי איציק ברבי
תוסיף ביטוי, שאם קיים % @ אז יזהה אותם ואם לא שלא יעשה כלום תלמד על הברחות .
|
אני יודע הברחות וגם סידרתי את הבעיה ששיניתי את \w ל ^' ווכה כל מה שמחוץ לגרש..
עכשיו נוצרו לי שתי בעיות
הוא מחזיר לי ARRAY כזה:
PHP קוד:
Array
(
[0] => Array
(
[0] => user_name = 'a2561-%^8*$#@aa'
[1] => user_name
[2] => a2561-%^8*$#@aa
)
[1] => Array
(
[0] => usermame='abc'
[1] => usermame
[2] => abc
)
[2] => Array
(
[0] => userid > 5 AND userid<=8)
[1] => userid
[2] => 5 AND userid<=8)
)
)
ואם אני שם ' ב VALUE הוא חותך את ה VALUE עד הגרש.. ואני רוצה שאם הגרש היא מוברחת ב VALUE שישאיר אותה..
איך אני פותר את הבעיות?
זה הקוד החדש:
PHP קוד:
$sql = "user_name = 'a2561-%^8*$#@aa' OR (usermame='abc' AND userid > 5 AND userid<=8)";
preg_match_all('/`?([\w]+)`?[\s]*[<>=]+[\s]*[\'"]?([^\'"]*)[\'"]?/i', $sql, $matches, PREG_SET_ORDER);
print_r($matches);
תודה!