[求助]关于类引入的问题????急!!!!

greennba99 2005-10-12 10:09:30
我写了一个名为MySql_Util的类,文件名为MySql_Util.php,我在另一个php文件中通过require_once './MySql_Util.php';来引入,但使用类MySql_Util时仍然报错:Fatal error: Class 'MySql_Util' not found in E:\MyServer\PHP_Web_Site\do.php on line 22

说明:文件路径一定是对的,我是用类MySql_Util中的静态方法,所以没有new

请问这个问题要怎么解决,非常感谢!!!!
...全文
193 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
adomain 2005-10-12
  • 打赏
  • 举报
回复
类::方法
就不用news了,为什么会这样呢?以前没这样调用过类,如果这样效率会高一点,会考虑用这种方法做的
greennba99 2005-10-12
  • 打赏
  • 举报
回复
class_exists 和 get_declared_classes 检查的结果是没有定义,但我在文件MySql_Util.php中明明有定义呀!!!!
xuzuning 2005-10-12
  • 打赏
  • 举报
回复

require_once './util/MySql_Util.php';
require_once './util/Constants_Sql.php';
之后,用
class_exists -- 检查类是否已定义
get_declared_classes -- 返回由已定义类的名字所组成的数组
greennba99 2005-10-12
  • 打赏
  • 举报
回复
声明了呀
piner 2005-10-12
  • 打赏
  • 举报
回复
你有没有声明要引用的类?
greennba99 2005-10-12
  • 打赏
  • 举报
回复
对,请问要怎样解决?
piner 2005-10-12
  • 打赏
  • 举报
回复
你用的是php5吧?
greennba99 2005-10-12
  • 打赏
  • 举报
回复
我干脆把代码贴出来

do.php:
<?php
require_once './util/MySql_Util.php';
require_once './util/Constants_Sql.php';
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PHP 测试-处理用户注册和登录</title>
</head>
<body>
<?php
$sql = null;
$actionType = $_POST['actionType'];
if ($actionType == 'register')
{
$sql = sprintf(Constants_Sql::USER_REGISTER,$_POST['userName'],$_POST['password']);
}
elseif ($actionType == 'login')
{
$sql = sprintf(Constants_Sql::USER_LOGIN ,$_POST['userName'],$_POST['password']);
}
$connection = MySql_Util::connect();
$resultSet = mysql_query($sql,$connection) or die('查询数据库失败:'.mysql_error());
if ($actionType == 'register')
{
if (mysql_affected_rows($connection) == 1)
{
echo '注册成功 ^_^';
}
else
{
echo '<font color=\'red\'>注册失败!!!!</font>';
}
MySql_Util::close($connection,$resultSet);
}
elseif ($actionType == 'login')
{
if (mysql_num_rows($resultSet) == 1)
{
MySql_Util::close($connection,$resultSet);
if (!isset($_SESSION['userName']))
{
$record = mysql_fetch_array($resultSet,MYSQL_ASSOC);
$_SESSION['userName'] = $record['userName'];

header("Location: welcome.php");
exit;
}
}
else
{
MySql_Util::close($connection,$resultSet);
echo '<font color=\'red\'>用户名或密码错误!</font>';
}
}
?>
</body>
</html>

MySql_Util.php:
<?
require_once './Constants_DataBase.php';

/**
* 连接MySQL数据库的辅助类。
* @author 徐进
* @version 0.1
*/
class MySql_Util
{
/**
* 连接数据库服务器并选择要使用的数据库。
*
* @return resource 数据库连接对象。
*/
public static function connect()
{
$connection = mysql_connect(Constants_DataBase::DATABASE_SERVER_IP.':'.Constants_DataBase::DATABASE_SERVER_PORT ,Constants_DataBase::DATABASE_USER_NAME ,Constants_DataBase::DATABASE_PASSWORD) or die('连接数据库失败:'.mysql_error());
mysql_select_db(Constants_DataBase::DATABASE_NAME) or die('选择数据库失败:'.mysql_error());

return $connection;
}

/**
* 释放查询所得的结果集资源并关闭数据库连接。
*
* @param resource $connection 要关闭的数据库连接对象。
* @param resource $resultSet 要释放的查询结果集对象。
*/
public static function close(resource &$connection, &$resultSet = null)
{
if ($resultSet != null)
{
mysql_free_result($resultSet);
$resultSet = null;
}
mysql_close($connection);
$connection = null;
}
}
?>
greennba99 2005-10-12
  • 打赏
  • 举报
回复
我是一名初学者,请给我高手详细解答一下,谢谢!!!!
adomain 2005-10-12
  • 打赏
  • 举报
回复
引用类的时候,不用new的?
xuzuning 2005-10-12
  • 打赏
  • 举报
回复
那就表示类定义文件没有被加载
继续用print_r(get_included_files());检查文件是否被加载
-神仙- 2005-10-12
  • 打赏
  • 举报
回复
看看php.ini里面include_path对不对

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧