![]() |
[SQL] הגנה מפני הזרקה...
דבר ראשון,
mysql_real_escape_string לא עוזר לי מכיוון שאני משתמש במחלקת הPDO... השאלה שלי איך אני יכול לאבטח שאילתות בעזרת PDO? ניסיתי את ה PDO::quote אבל אני מקבל את השגיאה הבאה: קוד:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'lt' in 'where clause'' in C:\xampp\htdocs\mvc2\model\membership.class.php:17 Stack trace: #0 C:\xampp\htdocs\mvc2\model\membership.class.php(17): PDO->query('SELECT UserID F...') #1 C:\xampp\htdocs\mvc2\controller\user.php(19): membership->register(''<table>&...', 'e10adc3949ba59a...', 'e10adc3949ba59a...', ''Shasy.Mail@gma...', ''Shasy.Mail@gma...') #2 C:\xampp\htdocs\mvc2\application\router.class.php(84): userController->register() #3 C:\xampp\htdocs\mvc2\index.php(33): router->loader() #4 {main} thrown in C:\xampp\htdocs\mvc2\model\membership.class.php on line 17 |
אוקיי, פתרתי את הבעיה עם הפונקצייה הבאה:
mysql_escape_string שלא דורשת חיבור כפרמטר... |
אם אתה כבר עם PDO תנסה להשתמש ב
http://il2.php.net/manual/en/pdo.prepare.php |
ב-PDO אכן משתמשים ב-$db->quote() או ב-prepared statements.
כדי לדעת מדוע קיבלת את השגיאה הנ"ל צריך לראות את הקוד. |
כל הזמנים הם GMT +2. הזמן כעת הוא 16:59. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ