С развитием технологий программирования старые методы отбрасываются, а заместо них появляются более совершенные. Это можно видеть как в библиотеках 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, поэтому не задумываясь переходите в новый формат!