当我运行此页面时,它说:Undefined variable: 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');
...
}
答案 0 :(得分:2)
您可以在函数中添加全局变量scope:
<?php
require_once 'global.php';
require 'db.php';
function validate($user,$pass) {
global $db;
$users=array();
$result=$db->query('SELECT username,password FROM users');
...
}
答案 1 :(得分:2)
使用global关键字是不好的做法。而是将数据库变量作为参数传递。
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');
}
}