如何从require';db.php';函数中的文件?

如何从require';db.php';函数中的文件?,php,Php,当我运行这个页面时,它会说:未定义变量:db如何在validate()函数中使用db.php中的$db <?php require_once 'global.php'; require 'db.php'; function validate($user,$pass) { $users=array(); $result=$db->query('SELECT username,password FROM users');

当我运行这个页面时,它会说:
未定义变量:db
如何在validate()函数中使用db.php中的$db

<?php

    require_once 'global.php';
    require 'db.php';

    function validate($user,$pass) {

        $users=array();

        $result=$db->query('SELECT username,password FROM users');

        ...
    }

您可以在函数中添加全局变量范围:

<?php
    require_once 'global.php';
    require 'db.php';

    function validate($user,$pass) {
        global $db;

        $users=array();

        $result=$db->query('SELECT username,password FROM users');

        ...
    }

使用全局关键字是不好的做法。而是将数据库变量作为参数传递

function validate($db) {

}
由于您使用的是类,因此可以利用面向对象编程特性。这意味着您只需通过构造函数初始化数据库连接一次

class myDb {

var $db; 
function __construct($db){
  $this->db = $db
}

function validate(){
//you can access database using $this->db
$result=$this->db->query('SELECT username,password FROM users');
}

}