ОБНОВЛЕНИЕ PHP с помощью bind_param () не будет работать

#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. Нет проблем, я рад помочь