Неустранимая ошибка: вызов функции-члена execute () в boolean

<?php session_start(); $config = parse_ini_file('../database_config.ini'); //Create Database connection $connection = mysqli_connect('localhost',$config['username'],$config['password'],$config['dbname']); if ($connection->connect_error) { die('Could not connect to db: ' . mysql_error()); } $stmt = $connection->prepare("INSERT INTO report (reportID, userID, description, address, postalcode, latitude, longitude) VALUES(0, 007, 'Major fire', 'Jurong Point', 640724, 1.640724, 103.640724)"); $stmt->execute(); echo "Error:\n"; print_r($stmt->error_list); $stmt->close(); $connection->close(); ?> 

Ошибка: Fatal error: Call to a member function execute() on boolean

Почему мой отчет о подготовке не работает?

Структура моей таблицы report введите описание изображения здесь

Solutions Collecting From Web of "Неустранимая ошибка: вызов функции-члена execute () в boolean"

Вам нужно сделать это следующим образом:

 <?php session_start(); $config = parse_ini_file('../database_config.ini'); //Create Database connection $connection = mysqli_connect('localhost',$config['username'],$config['password'],$config['dbname']); if (mysqli_connect_errno()) { // check the change of if condition printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $stmt = mysqli_prepare($connection,"INSERT INTO report (reportID, userID, description, address, postalcode, latitude, longitude) VALUES(0, 007, 'Major fire', 'Jurong Point', 640724, 1.640724, 103.640724)"); // check the change in query code mysqli_stmt_execute($stmt); // check the change in execution code echo "Error:\n"; print_r(mysqli_error($connection)); // check the change in error getting code mysqli_stmt_close($stmt);// check the change in statement closing code mysqli_close($connection); // check the change in db connection closing code ?> 

Для получения дополнительной информации обратитесь к ссылке, и это пример: – http://php.net/manual/en/mysqli.prepare.php

Вы комбинируете стиль Object Oriented с обычным процедурным типом mysqli. В строке 5 вы используете.

 mysqli_connect() 

и в строке 12 вы используете.

 $connection->prepare() 

Это не сработает, если вы измените привязку $ connection к объектно-ориентированному стилю, как вы это делаете с инструкцией по подготовке, это сработает.

 $connection = new mysqli('localhost', $config['username'], $config['password'], $config['dbname']) 

Более подробную информацию можно найти здесь http://php.net/manual/en/mysqli.prepare.php