在非对象上调用成员函数prepare()

时间:2013-12-21 04:22:54

标签: php mysqli

<?php

$dob = $_SESSION['dob'];
$month = $_SESSION['month'];
$s = $_POST['present'];
$p = "1";

if ($stmt = $mysqli->prepare("UPDATE atten SET total = ? WHERE name = ?")) 
{
    // Bind the variables to the parameter as strings. 
    foreach ($s as $name) 
    {
        $stmt->bind_param("ss", $p, $name);

        // Execute the statement.
        $stmt->execute(); 
    }

    // Close the prepared statement.
    $stmt->close();
}

这是我尝试执行上述代码时收到的错误消息:

  

在非对象上调用成员函数prepare()。

任何想法为什么?

3 个答案:

答案 0 :(得分:0)

您必须先实例化mysqli对象才能使用它

<?php
$mysqli = new mysqli('localhost', 'user', 'pass', 'database');
$mysqli->prepare('SQL STATEMENT');

答案 1 :(得分:0)

首先,您需要创建数据库连接,然后才能从数据库进行查询。像

$mysqli = new mysqli('localhost', 'username', 'password', 'database');

答案 2 :(得分:0)

在这里看一下示例#1,了解如何创建一个mysqli对象:

http://www.php.net/manual/en/mysqli.construct.php