Loading...
Обучение/Помощь новичкам | Проверка запросов в бд
Не могу понять почему первый варик лучше чем второй, если с базой разорвано соединение выдаст ошибку mysqli_connect();
Что может ещё случится ? Почему правильно первый варик если второй идентично работает.tap.
php
$query = mysqli_query($mysqli, "INSERT INTO `".DB_PREFIX."_users` SET `username` = '".esc($_POST['username'])."', `email` = '".esc($_POST['email'])."', `password` = '".$password."'");

if($query)
{
$reg_complete = 'Регистрация завершена.';
}


Варик 2
php
$query = mysqli_query($mysqli, "INSERT INTO `".DB_PREFIX."_users` SET `username` = '".esc($_POST['username'])."', `email` = '".esc($_POST['email'])."', `password` = '".$password."'");
$reg_complete = 'Регистрация завершена.';

________
посл. ред. 18.12.2023 в 01:43; всего 9 раз(а); by SNEG
if условия пропустил по этому второй вариант и не работает
SNEG , а что если ты забыл указать обязательное поле при запросе? Регистрация пройдёт? (нет)
А можно ли выполнять последующие запросы к базе если зарегистрировать пользователя не получилось? (нет).
Для таких целей проверяют что возващает $query
Архитектор [!] (18 дек 2023, в 1:47)
if условия пропустил по этому второй вариант и не работает
Вообще-то что первый что второй работаю одинаково, я пытаюсь понять зачем в условие брать успех, разве может быть и не успех ?
SNEG , https://www.php.net/manual/ru/control-structures.if.php читай
Тут вопрос не в том как работает условие if)
А зачем оно тут нужно.
_(Ulty)_ , я тебе ответил прочитай и поймешь
if($query)
вот твоя переменая идёт, когда идёт запрос в базу по ней когда выводишь запрос нужно делать проверку оператора if тут не чего не понятного нету запрос верный но нету проверки условия оператора
_(Ulty)_ (18 дек 2023, в 1:49)
SNEG , а что если ты забыл указать обязательное поле при запросе? Регистрация пройдёт? (нет)
А можно ли выполнять последующие запросы к базе если зарегистрировать пользователя не получилось? (нет).
Для таких целей проверяют что возващает $query
С твоих слов откуда мне знать удалило запись или нет, также брать в if этот mysqli_query
php
elseif($user['i'] < time() - MAX_LIFETIME)
mysqli_query($mysqli, "DELETE FROM `".DB_PREFIX."_ggg` WHERE `vvv` = '".$vvv."'");

________
посл. ред. 18.12.2023 в 02:01; всего 3 раз(а); by SNEG
если с базой разорвано соединение выдаст ошибку mysqli_connect();

mysqli_connect не выведет, инфу, что "соединение разорвано", т.к. эта функция, наоборот устанавливает соединение. Соединение может разорваться только после того, как оно будет установлено. Ошибку при выполнении запроса выведет функция mysqli_error. Пример применения и описание есть тут - https://www.php.net/manual/ru/mysqli.error.php
Онлайн: 6
Время:
Gen. 0.1183
(c) Bym.Guru 2010-2025