Ibrahim Hassan 1234 Ответов: 1

Предупреждение: pdostatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: недопустимый номер параметра: количество связанных переменных не соответствует количеству токенов


подготовить("обновление ТБ набора имени=:имени, sname=:sname, lname в=:lname в, пно=:пно, мно=:мно запись=:запись, факультет=:факультета, кафедры=кафедра, Session_Year:Session_Year, mstatus=:mstatus, пол=:пол, дата рождения=:Добролюбов, состояние=:состояние, лга=:ЛАГ, адрес=адресу:адрес, где пно= $пно");
$stmt->bindParam("fname",$fname);
$stmt->bindParam("sname",$sname);
$stmt->bindParam("lname",$lname);
$stmt->bindParam("pNo",$pNo);
$stmt->bindParam("mNo",$mNo);
$stmt->bindParam("Entry",$Entry);
$stmt->bindParam("факультет",$факультет);
$stmt->bindParam("отдел",$Department);
$stmt->bindParam("Session_Year",$Session_Year);
$stmt->bindParam("mstatus",$mstatus);
$stmt->bindParam("гендер",$gender);
$stmt->bindParam("dob",$dob);
$stmt->bindParam("состояние",$State);
$stmt->bindParam("lga",$lga);
$stmt->bindParam("адрес",$Address);
$stmt->выполнить();
echo "alert('обновление успешно');";

?>

Что я уже пробовал:

Я пытаюсь обновить свою запись я делаю это вручную пожалуйста если есть какое то решение

Richard MacCutchan

Я думаю, что вам нужно привязать $pNo в конце, для значения в предложении WHERE.

1 Ответов

Рейтинг:
12

Luc Pattyn

Я вижу две проблемы:

1.
У вас есть опечатка (отсутствует '=') в

Session_Year:Session_Year


2.
вы не должны иметь переменную непосредственно в вашем SQL-операторе ($pNo в конце).
Вероятно, вы пытались использовать еще один параметр, но если бы вы использовали одно и то же имя параметра, это не сработало бы, поскольку все имена параметров (а не переменные, к которым они привязаны) должны быть разными. Таким образом, вы можете выбрать другое имя параметра.

Но тогда нет никакой необходимости "обновлять" pNo в любом случае, так как он уже имеет правильное значение из-за вашего предложения WHERE, поэтому оставьте его вне списка пар ключ-значение, и эта проблема больше не существует.

:)


Ibrahim Hassan 1234

Спасибо, сэр, я очень ценю ваш быстрый ответ

Luc Pattyn

всегда пожалуйста