Важные изменения в PHP7 в работе с базой данных
Недавно мы перевели все проекты и сайты на версию PHP7. Мы знали все положительные стороны этой версии, но столкнулись с тем, что некоторые специалисты нашего сервиса не сразу поняли почему выпадают ошибки и только в работе с базами данных. Мы приготовили небольшие шпаргалки для всех наших читателей по тому как следует применять код для связи с базами данных в седьмой версии PHP.
Соединение с базой данных
Как было раньше:
-
-
$db = mysql_connect ("сервер","логин","пароль");
-
mysql_select_db ("имя_базы",$db);
-
mysql_set_charset('utf8');
-
?>
Как выглядит код сейчас:
-
-
$mysqli = new mysqli('сервер', 'логин', 'пароль', 'имя_базы');
-
$mysqli->set_charset("utf8");
-
if ($mysqli->connect_error) {
-
die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
-
}
-
?>
Как Вы смогли заметить функция mysql навсегда исчезла из PHP, но на её место пришла новая функция, более удобная и быстрая mysqli.
Открыть одну запись
Этот программный код позволит открыть одну запись и прочитать массив данных этой записи. Используется если нужно открыть запись новости, блога или товара.
-
$arr = $mysqli->query("SQL запрос")->fetch_object();
Открыть несколько записей
Данный код необходимо использовать когда Вам нужно вывести несколько записей, используя функцию PHP while
-
$result = $mysqli->query("SQL запрос");
-
while($row = $result->fetch_object()) {
-
// дальнейший код
-
}
Вставить запись
Для того, чтобы вставить новую запись, используйте этот фрагмент кода. Также Вы можете дописать необходимый сценарий в зависимости от того, успешно добавилась запись в таблицу базы данных или нет.
-
$result = $mysqli->query("SQL запрос");
-
if ($result) {
-
// выполнить если равно условие
-
} else {
-
// выолнить если условие не равно
-
}
Обновить запись
Изменить запись (редактирование или обновление записи) в таблице базы данных, а так же её удаление необходимо делать так, как показано на этом примере.
-
$result = $mysqli->query("SQL запрос");
Количество записей
И самое сложное, подсчёт количества записей при выполнении SQL запроса через PHP. Вот готовый пример как узнать количество строк в таблице базы данных.
-
$results = $mysqli->query("SQL запрос");
-
$newmails = $results->fetch_row();
-
$newmail = $newmails[0];