php - fatal error : Call to a member function execute() on boolean

标签 php mysql

<?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 :调用 bool 值上的成员函数 execute()

为什么我的 prepare 语句会失败?

我的报告表的结构 enter image description here

最佳答案

您正在将面向对象的风格与正常的过程 mysqli 风格相结合。 在您使用的第 5 行。

mysqli_connect()

在第 12 行你使用。

$connection->prepare()

这是行不通的,如果您将 $connection 更改为面向对象的样式,就像您对 prepare 语句所做的那样,它将行得通。

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

可以在此处找到更多信息 http://php.net/manual/en/mysqli.prepare.php

关于php - fatal error : Call to a member function execute() on boolean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36329555/

相关文章:

php - 将 json 解码为 php 数组,然后解码为 mysql

mysql - 在 ruby​​ 中连接到外部 MySQL。错误 1130 (HY000)

mysql - 如何为这个 MySql 查询设置正确的索引?

mysql - TokuDB size_allocated 与 size_in_use

PHP PDO MySQL 隧道连接双端口

php - 与数据库链接的文件的文件结构

php - Imagemagick 执行和转换

javascript - 提交 $_GET 表单来创建漂亮的 URL

php - iframe 中的 Laravel 5.1 CSRF,如何让它工作?

php - 将 PHP 数组存储在 MySQL 中