2010-08-18 2 views
1
// write student record 
$query = "INSERT INTO Student (SLastName, SFirstName, SeMail, SGrade, SPhone, SCell, SLunch)". 
" VALUES ($LastName, $FirstName, $email, $grade, $phone, $cell, $lunch)"; 
echo $query . '<br />'; 
$result = mysql_query($query); 
if (!$result) 
    die("Error inserting Student record: ". mysql_error()); 

INSERT INTO Student (SLastName, SFirstName, SeMail, SGrade, SPhone, SCell, SLunch) 
VALUES (Weiner, Wendy, [email protected], 12, 2123334444, 8458765555, 5) 

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@gmail.com, 12, 2123334444, 8458765555, 5)' at line 1Вставка адреса электронной почты в поле таблицы

Версия сервера: 5.0.91-сообщество

ответ

1

Вы приглашаете в гости из little Bobby Tables с помощью поставляемого пользователем данные не привязаны в SQL-запросе.

Либо используйте mysql_real_escape_string, чтобы отклонить ввод, или использовать PDO, чтобы сделать это лучше.

0

Если не то, что быть

INSERT INTO Student (SLastName, SFirstName, SeMail, SGrade, SPhone, SCell, SLunch) 
VALUES (Weiner, Wendy, '[email protected]', 12, 2123334444, 8458765555, 5) 

я. е. с адресом электронной почты в кавычках?

+0

Вы должны поместить другие строки в кавычки тоже (хотя кто downranked вас был быть немного имею в виду.) – fredley

0

Вы должны упаковывают свои значения в кавычки:

$query = "INSERT INTO Student (SLastName, SFirstName, SeMail, SGrade, SPhone, SCell, SLunch)". " VALUES ('$LastName','$FirstName','$email', '$grade', '$phone', '$cell', '$lunch')";

+0

Yeh, я хотел бы знать тоже. Другой ответ тоже кажется немного суровым. – fredley

Смежные вопросы