-2

我是sqli的新手,刚开始学习哎呀。我的db.php中有这段代码

$db = new mysqli('localhost', 'root', '', 'mydb');

if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}

另一个文件func.php

<?php
include_once 'db.php';
function get_users()
   {        

     $sql="SELECT * from users";    
     $result=$db->query($sql);    

     while($row = $result->fetch_assoc())
            {
                $data[]=$row;
            }

     return $data;
}

var_dump(get_users());

Error : Undefined variable: db

当我使用

global $db;内部函数

Error : Call to a member function query() on a non-object in

这里有什么问题,我该如何纠正?

4

1 回答 1

0

与其将其作为参数global传递,不如将其$db作为function参数传递,您可以参考答案来Error : Call to a member function query() on a non-object in了解您在使用global关键字后得到的错误 ()。

$db作为函数参数传递...

function example($db) {
   //Use the $db here
}

当您调用 时function,传递您的$db变量,例如example($db);

您也可能想阅读有关变量范围的信息

于 2013-10-30T07:52:16.690 回答