Офис НП 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_*
Прелюдии не будет, сразу к делу.
Открываем файл maincore.php
Ищем:
Заменяем на:
Ниже ищем:
Заменяем на:
Далее файл themes/templates/footer.php
Ищем:
Заменяем на:
Аналогично файл print.php
Ищем:
Заменяем на:
Теперь открываем файл includes/error_handling_include.php
Ищем:
Заменяем на:
Это пока все, что обнаружил для замены. По мере обнаружения буду дополнять. Если кто-то сможет перевести PHP-Fusion с расширения mysql_* на mysqli_* более изящно- милости прошу отписать в комментариях, так как на звание МегаКулПрограммера не претендую.
Открываем файл 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_* более изящно- милости прошу отписать в комментариях, так как на звание МегаКулПрограммера не претендую.
Понравилась статья?
Метки для данной статьи
Похожие статьи
Заголовок
Категория
Просмотров
Поделиться:
Последние активные темы форума
Темы | Просмотров | Ответов | Последние сообщения | |
Вопрос по переделке bb-кода PHP, MySQL |
22587 | 5 | Pisatel 26. мая 2017 |
|
Вопросы по Ajax форме обратной связи CMS PHP Fusion |
70053 | 48 | Ditrin 19. февраля 2017 |
|
BBCode YouTube Video Colorbox mod CMS PHP Fusion |
15537 | 2 | Pisatel 10. декабря 2016 |
|
Как лучше создать собственную страницу? CMS PHP Fusion |
18131 | 17 | Pisatel 11. мая 2016 |
|
Небольшие вопросы по скриптам магазина и катало... PHP, MySQL |
147698 | 80 | Pisatel 11. января 2016 |
|
BBCode Code mod CMS PHP Fusion |
14641 | 0 | Pisatel 31. августа 2015 |
|
Ajax Like Dislike Article Panel CMS PHP Fusion |
22844 | 16 | Pisatel 07. июля 2015 |
|
Хлебные крошки / BreadCrumbs SEO Panel CMS PHP Fusion |
26588 | 17 | Pisatel 04. июля 2015 |
|
Abbr Description BBCode CMS PHP Fusion |
7746 | 0 | Pisatel 15. июня 2015 |
|
Плагин Email рассылки Mail To All by Pisatel CMS PHP Fusion |
37598 | 32 | Pisatel 26. апреля 2015 |
|
Подозрительный трафик и прочие страшилки Всякая хрень |
11920 | 2 | Ditrin 23. апреля 2015 |
|
Мод Newsletter - рассылка писем пользователям с... CMS PHP Fusion |
31228 | 13 | Pisatel 10. апреля 2015 |
|
Мод отправки писем PHPMailer для PHP-Fusion CMS PHP Fusion |
131183 | 113 | Ditrin 06. апреля 2015 |
|
Появление неизвестного файла subscriptions.php CMS PHP Fusion |
8928 | 2 | Pisatel 06. апреля 2015 |
|
Autoban on IP CMS PHP Fusion |
23364 | 13 | Pisatel 03. апреля 2015 |