Как обновить таблицу, используя предложение where, используя PHP и MySQL?

Я работаю над сайтом, который должен передавать данные из формы на странице и использовать PHP для обновления таблицы учеников на сервере. Условие, над которым я сейчас пытаюсь работать, — это изменение данных, поэтому он должен иметь возможность обновлять данные на сервере, но это не так …

Будем весьма благодарны за любую помощь или совет, который вы можете предложить. Заранее спасибо.

Вот мой код:

<?php

date_default_timezone_set('America/New_York');

$connection = mysql_connect("hostaddress","DBname","password");

// Check connection
if (!$connection)
{
echo "Connection failed: " . mysql_connect_error();
}
else
{
//select table
mysql_select_db("DBname");
echo "Database Found! <br>";

$query = "UPDATE students
SET firstName = $_POST[firstName],
lastName = $_POST[lastName]
WHERE StudentID = $_POST[StudentID]";

$res = mysql_query($query);

if ($res)
{
echo "<p>Record Updated<p>";
}
else
{
echo "Problem updating record. MySQL Error: " . mysql_error();
}
}

mysql_close($connection);
?>

Я продолжаю получать эту ошибку:

База данных найдена!
Проблема с обновлением записи. Ошибка MySQL: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с ‘lastName =, WHERE Stud’ в строке 2

П.С .: У меня уже есть таблица учеников, созданная с некоторыми данными. Я могу получить доступ к таблице и изменить ее с помощью терминала и идентичного запроса MySQL, подобного приведенному выше, но все равно не повезло. Кроме того, я специально изменил адрес хоста, имя базы данных и пароль в своем коде (на случай, если кто-то спросит).

Ouput of echo $query

UPDATE fall14_bmora013.students SET firstName = , lastName =
WHERE StudentID = 890

0

Решение

Очевидно, у вас есть синтаксическая ошибка (дополнительный , до WHERE) в вашем UPDATE утверждение, как указано ниже

UPDATE students SET firstName = $_POST[firstName],
lastName = $_POST[lastName], <-- remove this extra comma
WHERE StudentID = $_POST[StudentID]

РЕДАКТИРОВАТЬ:

Проверьте, действительно ли ваш элемент формы назван как firstName а также lastName? проверить орфографию Я сомневаюсь, что имена отличаются от того, что вы ссылаетесь в коде.

1

Другие решения

Вы написали это сами:
Ошибка MySQL: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с ‘lastName =, WHERE Stud’ в строке 2

Выведите строку запроса, это не то, что вы ожидаете.

Постскриптум
Вам, вероятно, следует избегать ввода, чтобы избежать sql-injectiion.

Также обратите внимание, что вы не должны больше использовать функции mysql_.
прочитайте предупреждение на следующей странице:
http://php.net/manual/en/function.mysql-query.php

1

Однажды попробуй это …

$ query = «ОБНОВЛЕНИЕ студентов УСТАНОВКА firstName = ‘ «$ _ POST [ ‘FirstName’].»‘,lastName = ‘». $ _ POST [‘ lastName ‘].»‘ ГДЕ StudentID = ‘». $ _ POST [‘ StudentID ‘].»‘ «;

0
По вопросам рекламы [email protected]