Ошибка: 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 'WHERE `

lumberspin

Новичок
Здравствуйте!
Не могу понять в чем дело, вылетает Ошибка: 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 'WHERE `id`=10' at line 1 хотя запрос то правильный(
Помогите пожалуйста.
Вот запрос:


$sql = mysqli_query($link, "UPDATE `Teachers` SET `firstname` = '{$_POST['firstname']}',`name` = '{$_POST['name']}',`surname` = '{$_POST['surname']}',`description` = '{$_POST['description']}',`birthDate` = '{$_POST['birthDate']}',`address` = '{$_POST['address']}',`telephone` = '{$_POST['telephone']}',`email` = '{$_POST['email']}', WHERE `id`={$_GET['red']}");

или

$sql = mysqli_query($link, "SELECT `id`,`firstname`, `name`,`surname`, `description`,`birthDate`,`address`,`telephone`,`email` FROM `Teachers` WHERE `id`={$_GET['red']}");
$product = mysqli_fetch_array($sql);
 

ksnk

прохожий
Вообрази себе ситуацию. Ушлый ученик пишет на сайте <твой сайт>?red=0;drop
%20teachers; Что произойдет потом ? Вызовут тебя и заставят восстанавливать базу ?

Первым делом нужно не ошибку в sql ковырять, а об sql иньекциях думать. Потому что потом будет уже поздно.

,`email` = '{$_POST['email']}', WHERE `id`={$_GET['red']}"
тут запятая лишняя перед where
 

lumberspin

Новичок
Вообрази себе ситуацию. Ушлый ученик пишет на сайте <твой сайт>?red=0;drop
%20teachers; Что произойдет потом ? Вызовут тебя и заставят восстанавливать базу ?

Первым делом нужно не ошибку в sql ковырять, а об sql иньекциях думать. Потому что потом будет уже поздно.


тут запятая лишняя перед where
Спасибо большое за ответ!
 
Сверху