Офис НП AMWAY в Ярославле
Офис Амвей в Ярославле
На карте Офис AMWAY в ЯрославлеПрием и выдача заказов, презентация продукции Амвей, мастер–классы, вопросы по бизнесу Amway:
Адрес: улица Валентины Терешковой, дом 1 (Вход со двора)
Телефон: +7 (920) 112-00-91
Email: matyxho@mail.ru
Сайт: https://www.amway.ru/user/lebedem
Визитка: http://yar.meweb.ru
Иерархия статей
Статьи » Программирование » Перевод CMS PHP-Fusion с mysql_* на mysqli_*
Сниппет
В PHP с версии 5.5.0 расширение mysql_* считается устаревшим, а наш старый добрый PHP-Fusion работает именно на нем. Попробуем исправить ситуацию и перевести его на mysqli_*. Настоятельно рекомендую перед всеми процедурами сделать бекап! Это бета-тест!
Перевод CMS PHP-Fusion с mysql_* на mysqli_*
Опубликовал  Pisatel Добавлено  11-08-2015 11:14 11 Август 2015 11:14:19 3623  Прочтений 3623 Прочтений  1 Комментарий 1 Комментарий
 printer
Прелюдии не будет, сразу к делу.

Открываем файл maincore.php

Ищем:

Код: PHP
// Establish mySQL database connection

$link = dbconnect($db_host, $db_user, $db_pass, $db_name);

unset($db_host, $db_user, $db_pass);




Заменяем на:

Код: PHP
// New establish mySQL database connection

class _DB {

static $linkes;

public static function connectDB() {

global $db_host, $db_user, $db_pass, $db_name;

if (empty(self::$linkes)) {

self::$linkes = @mysqli_connect($db_host, $db_user, $db_pass, $db_name) or die("<strong>Unable to establish connection to MySQL</strong><br />".mysqli_connect_errno()." : ".mysqli_connect_error());

//mysqli_set_charset(self::$linkes, "cp1251"); // раскомментировать, если нужно

}

}

}

$link = _DB::connectDB(); // честно говоря не знаю, где еще может использоваться $link, поэтому оставлю так

unset($db_host, $db_user, $db_pass);




Ниже ищем:

Код: PHP
// MySQL database functions

function dbquery($query) {

global $mysql_queries_count, $mysql_queries_time; $mysql_queries_count++;



$query_time = get_microtime();

$result = @mysql_query($query);

$query_time = substr((get_microtime() - $query_time),0,7);



$mysql_queries_time[$mysql_queries_count] = array($query_time, $query);



if (!$result) {

echo mysql_error();

return false;

} else {

return $result;

}

}



function dbcount($field, $table, $conditions = "") {

global $mysql_queries_count, $mysql_queries_time; $mysql_queries_count++;



$cond = ($conditions ? " WHERE ".$conditions : "");

$query_time = get_microtime();

$result = @mysql_query("SELECT Count".$field." FROM ".$table.$cond);

$query_time = substr((get_microtime() - $query_time),0,7);



$mysql_queries_time[$mysql_queries_count] = array($query_time, "SELECT COUNT".$field." FROM ".$table.$cond);



if (!$result) {

echo mysql_error();

return false;

} else {

$rows = mysql_result($result, 0);

return $rows;

}

}



function dbresult($query, $row) {

global $mysql_queries_count, $mysql_queries_time;



$query_time = get_microtime();

$result = @mysql_result($query, $row);

$query_time = substr((get_microtime() - $query_time),0,7);



$mysql_queries_time[$mysql_queries_count] = array($query_time, $query);



if (!$result) {

echo mysql_error();

return false;

} else {

return $result;

}

}



function dbrows($query) {

$result = @mysql_num_rows($query);

return $result;

}



function dbarray($query) {

$result = @mysql_fetch_assoc($query);

if (!$result) {

echo mysql_error();

return false;

} else {

return $result;

}

}



function dbarraynum($query) {

$result = @mysql_fetch_row($query);

if (!$result) {

echo mysql_error();

return false;

} else {

return $result;

}

}



function dbconnect($db_host, $db_user, $db_pass, $db_name) {

global $db_connect;



$db_connect = @mysql_connect($db_host, $db_user, $db_pass);

$db_select = @mysql_select_db($db_name);

if (!$db_connect) {

die("<strong>Unable to establish connection to MySQL</strong><br />".mysql_errno()." : ".mysql_error());

} elseif (!$db_select) {

die("<strong>Unable to select MySQL database</strong><br />".mysql_errno()." : ".mysql_error());

}

}




Заменяем на:

Код: PHP
// New MySQL database functions

function dbm_result($res, $row, $field=0) {

$res->data_seek($row);

$datarow = $res->fetch_array();

return $datarow[$field];

}

function dbquery($query) {

global $mysql_queries_count, $mysql_queries_time; $mysql_queries_count++;



$query_time = get_microtime();

$result = mysqli_query(_DB::$linkes, $query);

$query_time = substr((get_microtime() - $query_time),0,7);



$mysql_queries_time[$mysql_queries_count] = array($query_time, $query);



if (!$result) {

echo mysqli_error(_DB::$linkes);

return FALSE;

} else {

return $result;

}

}



function dbcount($field, $table, $conditions = "") {

global $mysql_queries_count, $mysql_queries_time; $mysql_queries_count++;



$cond = ($conditions ? " WHERE ".$conditions : "");

$query_time = get_microtime();

$result = mysqli_query(_DB::$linkes, "SELECT COUNT".$field." FROM ".$table.$cond);

$query_time = substr((get_microtime() - $query_time),0,7);



$mysql_queries_time[$mysql_queries_count] = array($query_time, "SELECT COUNT".$field." FROM ".$table.$cond);



if (!$result) {

echo mysqli_error(_DB::$linkes);

return FALSE;

} else {

$rows = dbm_result($result, 0);

return $rows;

}

}



function dbresult($query, $row) {

global $mysql_queries_count, $mysql_queries_time;



$query_time = get_microtime();

$result = dbm_result($query, $row);

$query_time = substr((get_microtime() - $query_time),0,7);



$mysql_queries_time[$mysql_queries_count] = array($query_time, $query);



if (!$result) {

echo mysqli_error(_DB::$linkes);

return FALSE;

} else {

return $result;

}

}



function dbrows($query) {

$result = mysqli_num_rows($query);

return $result;

}



function dbarray($query) {

$result = mysqli_fetch_assoc($query);

if (!$result) {

echo mysqli_error(_DB::$linkes);

return FALSE;

} else {

return $result;

}

}



function dbarraynum($query) {

$result = mysqli_fetch_row($query);

if (!$result) {

echo mysqli_error(_DB::$linkes);

return FALSE;

} else {

return $result;

}

}




Далее файл themes/templates/footer.php

Ищем:

Код: PHP
mysql_close($db_connect);




Заменяем на:

Код: PHP
mysqli_close(_DB::$linkes);




Аналогично файл print.php

Ищем:

Код: PHP
mysql_close($db_connect);




Заменяем на:

Код: PHP
mysqli_close(_DB::$linkes);




Теперь открываем файл includes/error_handling_include.php

Ищем:

Код: PHP
  $errorId = mysql_insert_id();




Заменяем на:

Код: PHP
  $errorId = mysqli_insert_id(_DB::$linkes);




Это пока все, что обнаружил для замены. По мере обнаружения буду дополнять. Если кто-то сможет перевести PHP-Fusion с расширения mysql_* на mysqli_* более изящно- милости прошу отписать в комментариях, так как на звание МегаКулПрограммера не претендую.
Понравилась статья?
Метки для данной статьи
Похожие статьи
Поделиться:   
Комментарии
#1 | StepSwano 10 марта 2020 01:28:57
No Avatar
Гость
Comprar Clomiphene cialis without prescription Amoxicillin With Milk <a href=http://apcialisle.com/#>buy generic cialis online</a> Generique Cialis Forum
Добавить комментарий
Имя:

Проверочный код:
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
folder Плагин Email рассылки Mail To All by Pisatel
CMS PHP Fusion
14892 33 promask
27. апреля 2019
folder Вопрос по переделке bb-кода
PHP, MySQL
3821 5 Pisatel
26. мая 2017
folder Вопросы по Ajax форме обратной связи
CMS PHP Fusion
16168 48 Ditrin
19. февраля 2017
folder BBCode YouTube Video Colorbox mod
CMS PHP Fusion
8362 2 Pisatel
10. декабря 2016
folder Как лучше создать собственную страницу?
CMS PHP Fusion
8326 17 Pisatel
11. мая 2016
folder Небольшие вопросы по скриптам магазина и катало...
PHP, MySQL
57253 80 Pisatel
11. января 2016
folder BBCode Code mod
CMS PHP Fusion
4521 0 Pisatel
31. августа 2015
folder Ajax Like Dislike Article Panel
CMS PHP Fusion
8847 16 Pisatel
07. июля 2015
folder Хлебные крошки / BreadCrumbs SEO Panel
CMS PHP Fusion
10483 17 Pisatel
04. июля 2015
folder Abbr Description BBCode
CMS PHP Fusion
3487 0 Pisatel
15. июня 2015
folder Подозрительный трафик и прочие страшилки
Всякая хрень
6946 2 Ditrin
23. апреля 2015
folder Мод Newsletter - рассылка писем пользователям с...
CMS PHP Fusion
8720 13 Pisatel
10. апреля 2015
folder Мод отправки писем PHPMailer для PHP-Fusion
CMS PHP Fusion
45825 113 Ditrin
06. апреля 2015
folder Появление неизвестного файла subscriptions.php
CMS PHP Fusion
4121 2 Pisatel
06. апреля 2015
folder Autoban on IP
CMS PHP Fusion
14789 13 Pisatel
03. апреля 2015