[求助]为什么pear:db总是用不上

SunFee 2005-12-30 03:29:08
先说我是怎么安装PEAR的
Win下运行php目录php-4.4.1-Win32下的go-pear.bat,一路回车安装完毕(安装过程中自己下载了DB等package),将PEAR目录上传到网站的include目录下(/include/PEAR)

调用页面
test.php

PHP代码:
--------------------------------------------------------------------------------

<?php
ini_set("include_path", '../include/PEAR' . PATH_SEPARATOR . ini_get("include_path"));
require_once "DB.php";

$dsn = 'mysqli://root:123456@localhost/test';
$options = array(
'debug' => 2,
);

$db =& DB::connect($dsn, $options);
/**
* 对于可能出现的错误的处理
*/
if (DB::isError($db)) {
die($db->getMessage());
}
?>

--------------------------------------------------------------------------------


没有php语法错误
但DB总是提示“DB Error: extension not found”
请问怎么解决
我在本地设置php.ini里的include_path也没有用哦
...全文
233 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
SunFee 2005-12-30
  • 打赏
  • 举报
回复
不好意思。。
确实不支持mysqli

当时没仔细看
mysql -> MySQL (for MySQL <= 4.0)
mysqli -> MySQL (for MySQL >= 4.1) (requires PHP 5) (since DB 1.6.3)
第二行的后面部分

以为DB提供的mysql类型只能连接4.0以下的MySql数据库
SunFee 2005-12-30
  • 打赏
  • 举报
回复
文件存在
大小写都没有问题
xuzuning 2005-12-30
  • 打赏
  • 举报
回复
是吗?是如何认定的?
$conn = mysqli_connect('localhost', 'root', '123435') or die('error');
的结果是什么?

DB/mysqli.php文件存在吗?

db.php中有
function &factory($type)
{
@include_once("DB/${type}.php");

$classname = "DB_${type}";

if (!class_exists($classname)) {
return PEAR::raiseError(null, DB_ERROR_NOT_FOUND,
null, null, null, 'DB_Error', true);
}
当不能加载DB/mysqli.php文件时就要报错了

操作系统是什么?大小写敏感吗?
SunFee 2005-12-30
  • 打赏
  • 举报
回复
都支持啊。。。
xuzuning 2005-12-30
  • 打赏
  • 举报
回复
DB Error: extension not found
是说数据库扩展找不到!

dsn = 'mysqli://root:123456@localhost/test';
确认pear;;db支持mysqli
确认服务器的php支持mysqli

21,886

社区成员

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

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