Я делаю или пытаюсь сделать проект базы данных для университета, но затем при регистрации пользователя появляется эта ошибка: Fatal error: Call to a member function bind_param() on a non-object in (...)
Изначально я написал
$insert = $db->prepare("INSERT INTO customer (name, email, phonenumber, adress, password) VALUES (?, ?, ?, ?, ?");
но потом я изменился на хорошо, вы можете увидеть в коде.
Я искал некоторые ответы, но ничего не помогло, и я был бы очень рад, если бы кто-нибудь смог помочь мне решить эту проблему.
Заранее спасибо, Андре
<?php
require 'db/connect.php';
require 'functions/security.php';
if(!empty($_POST)) {
if(isset($_POST['name'], $_POST['email'], $_POST['address'], $_POST['phone'], $_POST['password'])) {
$name = trim($_POST['name']);
$email `enter code here` = trim($_POST['email']);
$phone = trim($_POST['phone']);
$address = trim($_POST['address']);
$password = trim($_POST['password']);
if(!empty($name) && !empty($email) &&!empty($phone) && !empty($address) &&!empty($password)){
$insert = $db->prepare("INSERT INTO customer VALUES (?, ?, ?, ?, ?");
$insert->bind_param('ssiss', $name, $email, $phone, $address, $password);
//$insert->close();
if($insert->execute()){
print_r("Done");
die();
}
}
}
}
?>
Вызов функции-члена в запросе означает, что запрос не может быть выполнен, потому что он содержит ошибку.
В этом случае вы не закрыли ЗНАЧЕНИЯ ().
+ Изменить $insert = $db->prepare("INSERT INTO customer VALUES (?, ?, ?, ?, ?");
в $insert = $db->prepare("INSERT INTO customer VALUES (?, ?, ?, ?, ?)");
Убедитесь, что вы проверите, если ошибка может быть выполнена.
Пример проверки возможности выполнения запроса:
$query = $this->_db->prepare("SELECTTEST name FROM user"); //.. Bad query (false)
if(!$query) //.. If the query is false.
{
trigger_error('Query couldn\'t get executed');
}
Если это решило вашу ошибку, я буду очень признателен, если вы проголосуете за мой ответ.
Других решений пока нет …