现在有三个类:
DB.php
<?php
calss DB
{
protected $mysqli;
function __construct()
{
....
}
}
?>
book.php
<?php
reuqire_omce('DB.php');
calss book
{
static function getbook()
{
...
}
}
?>
notice.php
<?php
require_once('DB.php'):
calss notice
{
static function getnotice()
{
...
}
}
?>index.php
<?php
require_once('book.php');
$bookdata = book::getbook();
require_once('notice.php');
$noticedata = notice::getnotice();
?>现在的问题是:当index.php执行到$noticedata=notice::getnotice();时报错,说DB.php的数据库执行查询的语句没有选择数据库:'No database selected'.但单独执行
require_once('book.php');
$bookdata = book::getbook();或
require_once('notice.php');
$noticedata = notice::getnotice();
多没有问题。我觉得问题出在require_once上。但不知道该怎么改。大家帮帮忙 谢谢。
<?php
reuqire_omce('DB.php');
reqire_once 吧?
DB.php
<?php
class DB
{
protected $mysqli;
function __construct()
{
....
}
}
?>
book.php
<?php
require_once('DB.php');
class book
{
static function getbook()
{
...
}
}
?>
notice.php
<?php
require_once('DB.php'):
class notice
{
static function getnotice()
{
...
}
}
?> index.php
<?php
require_once('book.php');
$bookdata = book::getbook();
require_once('notice.php');
$noticedata = notice::getnotice();
?> 现在的问题是:当index.php执行到$noticedata=notice::getnotice();时报错,说DB.php的数据库执行查询的语句没有选择数据库:'No database selected'.但单独执行
require_once('book.php');
$bookdata = book::getbook(); 或
require_once('notice.php');
$noticedata = notice::getnotice();
多没有问题。 我觉得问题出在require_once上。但不知道该怎么改。大家帮帮忙 谢谢。
就是说你的数据库连接有问题吧。
你在book.php里require_once('DB.PHP')时有没有连接数据库服务器?连接时有没有指定数据库?
$bookdata = book::getbook();
require('notice.php');
$noticedata = notice::getnotice();
$bookdata = book::getbook();
require_once('notice.php');
$noticedata = notice::getnotice(); 因为book.php中已有require_once('DB.php')了 所以notice.php中的require_once('DB.php')不再包含
把require_once('DB.php') 改成require('DB.php')试试看
你可以在执行具体的sql语句之前指定要操作的数据库。有2种办法:
mysql_select_db($db_name);
query("use $db_name"); //此为伪函数,自己改一下