У меня возникли проблемы с использованием этой подготовки и привязки. Я попробовал одно и то же с меньшими переменными для привязки. Я успешно использовал подготовку только с именами Fname, Lname, Password, $ UserID и использованием sssi с объектом bind_param. Может ли кто-нибудь объяснить, что я делаю неправильно, когда использую больше переменных в моем коде привязки? В приведенном ниже коде он выводит только те же данные из mysqli и не обновляет его.Как исправить stmt подготовить и связать
if ($stmt = $con->prepare("UPDATE users SET Fname = ?, Lname = ?, Password = ?, UserLevel = ?, Email = ?, WHERE UserID= ?"))
{
$stmt->bind_param("ssssssi", $firstname, $lastname, $PW, $UserLevel, $EM, $UserID);
$stmt->execute();
$stmt->close();
}
// show an error message if the query has an error
else
{
echo "ERROR: could not prepare SQL statement.";
}
// redirect the user once the form is updated
header("Location: admin.php");
У вас слишком много 'ssss' –
Что такое 'sssssi' в $ stmt-> bind_param (" ssssssi ", $ firstname, $ lastname, $ PW, $ UserLevel, $ EM, $ UserID); код? –
и 'Email =?,' <* Тоже убивает Сэм * @JayBlanchard - @ OP, вы не проверяете наличие ошибок. Эта ошибка «эха»: не удалось подготовить SQL-инструкцию. »;' Ничего не делает. Этот http://php.net/manual/en/mysqli.error.php делает. –