Перехід з mysql на mysqli в php 7

З розвитком технологій програмування старі методи відкидаються, а замість них з'являються більш досконалі. Це можна бачити як в бібліотеках jQuery - коли з ростом версії бібліотек зникає синтаксис старих функцій, так і в php-якій мові програмування.

На сьогодні в php 7 зникла стандартна команда для роботи з БД mysql і велика частина функцій, яка з нею пов'язана. Тепер використовується mysqli. Він доступний з версії php 5.3. Тому на 95% серверах краще відразу програмувати в новому форматі під mysqli.

Розглянемо методи переходу з mysql на mysqli

Підключення до БД (старе mysql):
mysql_connect ($ database_host, $ database_user, $ database_password);
mysql_query ( "SET NAMES 'utf8'");
mysql_select_db ($ database_name);

Підключення до БД (нове mysqli):
$ Connect = mysqli_connect ($ database_host, $ database_user, $ database_password, $ database_name);
mysqli_query ($ connect, "SET NAMES utf8");

В обох прикладах:
$ Database_host - хост сервера
$ Database_user - користувач БД
$ Database_password - пароль користувача БД
$ Database_name - обрана БД

Зауважте в новому підключенні використовується всього один рядок (змінна $ connect), в якій відразу прописані всі дані. І в новому форматі найчастіше mysql буде замінюватися на mysqli.

Розглянемо створення таблиць:

Старий синтаксис:
mysql_query ( "create table IF NOT EXISTS reitingpeopl (id int not null AUTO_INCREMENT, name TEXT (100000) not null, emails TEXT (100000) not null, PRIMARY KEY (id)) DEFAULT CHARACTER SET utf8");

Новий синтаксис:
mysqli_query ($ connect, "create table IF NOT EXISTS reitingpeopl (id int not null AUTO_INCREMENT, name TEXT (100000) not null, emails TEXT (100000) not null, PRIMARY KEY (id)) DEFAULT CHARACTER SET utf8");

Тут все як і раніше, тільки mysql_query змінюється на mysqli_query і додається $ connect для з'єднання з БД.

Тепер розглянемо цикли:

Старий синтаксис:
$ Podresult = mysql_query ( "select * from reitingpeopl where id = '2'");
while ($ podrow = mysql_fetch_array ($ podresult)) <Что-то делаем>

Новий синтаксис:
$ Podresult = mysqli_query ($ connect, "select * from reitingpeopl where id = '2'");
while ($ podrow = mysqli_fetch_array ($ podresult)) <Что-то делаем>

У новому синтаксисі використовується mysqli_fetch_array замість mysql_query і пишеться $ connect для підключення до БД.

В принципі це основи. Наведу кілька прикладів, які також можуть вами використовуватися:
mysql_real_escape_string ($ _ POST [ "yourid"]) змінюється на: mysqli_real_escape_string ($ connect, $ _POST [ "yourid"])
mysql_query ( "select * from reitingpeopl"); змінюється на: mysqli_query ($ connect, "select * from reitingpeopl");

Ще популярні приклади команд (просто додайте на кінці i):
mysqli_fetch_row ()
mysqli_fetch_assoc ()
mysqli_fetch_array ()
mysqli_num_rows ()
mysqli_insert_id ()
mysqli_close ()

Якщо щось ви не знайшли, то це можна буде легко відшукати в довідниках. У будь-якому випадку mysqli в php 7 працює набагато швидше, ніж mysql, тому не замислюючись переходите в новий формат!

Читайте також

Перехід з mysql на mysqli в php 7

Перехід з mysql на mysqli в php 7

Перехід з mysql на mysqli в php 7

Перехід з mysql на mysqli в php 7

Скрипт падаючих сніжинок, листя, зірок на сайті за допомогою js

Як заборонити перехід по посиланню через css і js

Схожі статті