<?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
Вам нужно сделать это следующим образом:
<?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