#php #mysql #sql
#php #mysql #sql
Вопрос:
Добрый день, я не очень хорошо знаком с PHP, и я получаю эту ошибку при попытке выполнить свой запрос.
Неустранимая ошибка: неперехваченная ошибка: вызов функции-члена bind_param() для логического значения в C:xampphtdocsLoginWithMySQLichangenameaction.php:12 Трассировка стека: #0 {main} добавлено C:xampphtdocsLoginWithMySQLichangenameaction.php в строке 12
вот мой код:
session_start();
require_once 'dbconnect.php';
$stmt = $DBcon->prepare("UPDATE tbl_users SET fname = ?, lname = ?, WHERE user_id = ?");
$stmt->bind_param('sss', $_POST['fname'], $_POST['lname'], $_SESSION['userSession']);
$stmt->execute();
$stmt->close();
$DBcon->close();
Вы знаете, что я делаю не так?
Заранее спасибо
Комментарии:
1. удалите запятую перед
where
— это означает, что подготовка инструкции не удалась
Ответ №1:
Оператор sql не прошел этап подготовки, поэтому вы должны проверить, что оператор в порядке, прежде чем переходить к другим методам — причиной сбоя была дополнительная запятая перед WHERE
предложением
session_start();
require_once 'dbconnect.php';
$stmt = $DBcon->prepare("UPDATE tbl_users SET fname = ?, lname = ? WHERE user_id = ?");
if( $stmt amp;amp; isset($_POST['fname'], $_POST['lname'], $_SESSION['userSession']) ){
$stmt->bind_param('sss', $_POST['fname'], $_POST['lname'], $_SESSION['userSession'] );
$stmt->execute();
$stmt->close();
}
$DBcon->close();
Ответ №2:
У вас есть конечная запятая, ваш sql должен быть таким
UPDATE tbl_users SET fname = ?, lname = ? WHERE user_id = ?
Комментарии:
1. Danku het werkt nu!
2. Нет проблем, я рад помочь