我最近将我的wampserver2.0更新到了wampserver2.5。
当我运行php smarty代码时,我得到了这个错误。
"Fatal error: Class 'DB' not found in
C:\wamp\www\livehrm.new\product\common.php on line 63" 我认为这可能是一个老的wampserver的问题。
请帮帮我
//session_start();
require_once 'DB.php';
$dbHost = $dbconfig['db_hostname'];
$dsn1[0] = array('type'=>'DB', 'dsnstuff'=>"mysql://$dbUser:$dbPassword@localhost/$dbName"); $dbdsn = "mysql://$dbUser:$dbPassword@$dbHost/$dbName";
$db = DB::connect($dbdsn);
if (DB::isError($db)) {
die ($db->getMessage());
}
?>发布于 2014-11-10 14:47:43
从PHP5.5.0开始,MySQL扩展已被弃用,并且不建议用于编写新代码,因为它将在未来被移除。相反,应该使用mysqli或PDO_MySQL扩展。参考:http://php.net/manual/en/function.mysql-select-db.php
使用以下代码更新您的DB.php
<?php
$con = mysqli_connect("localhost","root","");
$db="livehrm";
if (!$con)
{
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con, $db) or die ("Database connection error:\n" . mysqli_error($con));
?>在您提供的文件DB.php的代码中找不到类。我会在你发DB类代码的时候更新我的答案
发布于 2014-11-10 18:11:06
这不是首选的解决方案,但这应该会让你重新开始工作。
我强烈建议您确实将您的代码从使用mysql_*扩展转换为使用mysqli_*或PDO,因为这种方法最终将不起作用,因为provide实际上将不再提供mysql_*扩展。
但您可以通过更改php.ini配置来删除警告消息,如下所示:-
编辑php.ini
找到这一行
error_reporting = E_ALL并将其更改为
error_reporting = E_ALL & ~E_DEPRECATED或者,如果您没有访问php.ini文件的权限,也可以将这段PHP代码添加到db.php脚本的顶部
error_reporting( E_ALL ^ E_DEPRECATED );如果您使用的是虚拟主机,您实际上可以将其添加到仍在使用旧mysql_*扩展的站点的特定VH中,因此不会影响您正在开发/维护的其他站点
不幸的是,在VH定义中,您必须使用整数值。
<VirtualHost....>
. . .
php_value error_reporting 24575
</VirtualHost>https://stackoverflow.com/questions/26837838
复制相似问题