У меня есть этот кусок кода PHP, который обращается к базе данных с помощью XAMPP / mysql. Я устанавливаю строку запроса, оба выглядят одинаково для меня, кроме пробелов / табуляции, но один работает, а другой нет.
Это не работает:
$sql = "UPDATE employees
SET
first_name = '$_GET[firstname]',
last_name = '$_GET[lastname]',
hire_date = '$_GET[hiredate]',
salary = '$_GET[salary]',
department_id = '$_GET[department]',
WHERE
employee_id = '$_GET[id]'";
Это работает:
$sql = "UPDATE employees
SET
first_name = '$_GET[firstname]',
last_name = '$_GET[lastname]',
hire_date = '$_GET[hiredate]',
salary = '$_GET[salary]',
department_id = '$_GET[department]'
WHERE
employee_id = '$_GET[id]'";
Когда я использую неверное утверждение, я получаю:
У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который можно использовать рядом с ‘WHERE employee_id =’ 104 » в строке 8
Кто-нибудь может объяснить почему?
У вас есть лишняя запятая в вашем первом примере. В основном вы сделали опечатку.
$sql = "UPDATE employees
SET
first_name = '$_GET[firstname]',
last_name = '$_GET[lastname]',
hire_date = '$_GET[hiredate]',
salary = '$_GET[salary]',
department_id = '$_GET[department]', // <--- HERE
WHERE
employee_id = '$_GET[id]'";
Других решений пока нет …