בעיית סינטקסט בSQL

BuffY9

New member
בעיית סינטקסט בSQL

INSERT INTO users (email, first_name, last_name) VALUES ($_GET['[email protected]'], $_GET['Shos'], $_GET['Cohen']);


רושם לי שיש שגיאת סינטקס באיזור האימייל והלאה ואני לא מצליחה לעלות עליה.
באינטרנט יש דוגמאות לטבלאות שרשומות אחרת ו\או מסובכות יותר
O_O
 
תציבי את הערכים במשתנים

המשתנה GET_$ הוא מערך אסוציאטיבי. כלומר, יש מפתח לערך. כלומר את צריכה לרשם את שם המפתח ולא את הערך

זה כל הסיפור
 

bnayal

New member
תוספת חשובה,

אסור לשים משתנים ישירות בתוך שאילתת SQL בלי לבדוק את תוכנם.
זאת כדי למנוע SQL Injection (חיפוש בגוגל ובפורום יעלה הרבה מידע כמובן).
הדרך המומלצת היא להעביר את הפרמטרים בעזרת Prepared Statements.
קישורים:
1. שימוש עם המחלקה mysqli http://php.net/manual/en/mysqli.prepare.php
2. שימוש עם PDO http://php.net/manual/en/pdo.prepared-statements.php

מומלץ כמובן לא להשתמש במחלקה mysql הישנה.

שבוע טוב,
בניה
 
למעלה