Обновление Wampserver

Я недавно обновил свой wampserver 2.0 до wampserver 2.5.

И пока я запускаю код php smarty, я получаю эту ошибку.

"Fatal error: Class 'DB' not found in
C:\wamp\www\livehrm.new\product\common.php on line 63"

Я думаю, что это может быть проблемой старого вампервера.

пожалуйста, помогите мне

//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());
}
?>

0

Решение

Начиная с PHP 5.5.0 расширение MySQL устарело и не рекомендуется для написания нового кода, так как оно будет удалено в будущем. Вместо этого следует использовать расширение mysqli или PDO_MySQL. Ref: 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 отсутствует класс. Я обновлю свой ответ, когда вы отправите код класса БД

0

Другие решения

Это не предпочтительное решение, но это должно заставить вас снова работать.

Я настоятельно рекомендую вам на самом деле конвертировать код с использованием расширения mysql_ *, а не использовать mysqli_ * или PDO, поскольку в конечном итоге этот подход не будет работать, поскольку разработчики PHP на самом деле больше не будут предоставлять расширение mysql_ *.

Но вы можете удалить предупреждающие сообщения, изменив конфигурацию php.ini следующим образом: —

редактировать php.ini

Найти эту строку

error_reporting = E_ALL

и изменить его на

error_reporting = E_ALL & ~E_DEPRECATED

Или вы можете просто добавить этот код PHP в верхней части вашего db.phpскрипт, если у вас нет доступа к файлу php.ini

error_reporting( E_ALL ^ E_DEPRECATED );

Если вы используете виртуальные хосты, вы можете добавить это к конкретному VH для сайта, который все еще использует старый mysql_* поэтому расширение не влияет на другой сайт, который вы можете разрабатывать / поддерживать

К сожалению, в определении VH вы должны использовать целочисленное значение.

<VirtualHost....>
. . .

php_value error_reporting 24575
</VirtualHost>
0

По вопросам рекламы [email protected]