PHP函数无法连接到DB

时间:2014-02-19 21:12:17

标签: php mysqli prepared-statement

我有这段代码:

<?php
require('includes/db.php');

function connectHouseObjects() {

        /* Register a prepared statement */
        if ($stmt = $mysqli->prepare('SELECT * FROM house_room1 WHERE user_id = ?')) {

            /* Bind parametres */
            $stmt->bind_param('i', $user_id);

                /* Insert the parameter values */
                $user_id = 1;

                /* Execute the query */
                $stmt->execute();

                /* Close statement */
                $stmt->close();

            } else {
                /* Something went wrong */
                echo 'Something went terrible wrong'     . $mysqli->error;
            }

        }
?>

我在单独的文档中使用它来调用它:

require('main_database.php');
connectHouseObjects();

所以我在这一行收到错误:if ($stmt = $mysqli->prepare('SELECT * FROM house_room1 WHERE user_id = ?')) {

说:致命错误:在第7行的... / x / main_database.php中的非对象上调用成员函数prepare()。

有什么想法吗?任何事情都表示赞赏。提前谢谢。

1 个答案:

答案 0 :(得分:1)

基本PHP语法:

function connectHouseObjects() {

        /* Register a prepared statement */
        if ($stmt = $mysqli->etc....
                    ^^^^^^---undefined in your function

你需要做

   global $mysqli;
在实际使用该连接句柄之前,在您的函数中