[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Есть ли смысл делать проверку?
Гость_Илья
Есть ли смысл проверять логин:
$check = mysqli_fetch_assoc(mysqli_query($db,"SELECT `login`,`background`,`uploaded` FROM `user_pages` WHERE `page_id`='$delete'"));


Если потом я всё равно делаю выборку с условием, что логин должен совпадать?
if ($check['login'] == $login){
mysqli_query($db,"DELETE FROM `user_pages` WHERE `page_id` = '$delete' AND `login` = '$login' LIMIT 1");
}
Zzepish
Я вообще не советую так запрос писать:

$check = mysqli_fetch_assoc(mysqli_query($db,"SELECT `login`,`background`,`uploaded` FROM `user_pages` WHERE `page_id`='$delete'"));

Лучше

$check=mysqli_query($db,"SELECT `login`,`background`,`uploaded` FROM `user_pages` WHERE `page_id`='$delete'");

$check2 = mysqli_fetch_assoc($check);

Ибо у меня при твоем раскладе вылазили непонятные косяки иногда (хотя может и я кривой).

А проверять надо через mysql_num_rows()>0
Гость_Илья
А смысл есть делать провеку, если всё равно условие на совпадение логина?
Кстати, у меня не было косяков. Какие именно косяки были у вас?
Просто странно, по сути это одно и то же.
Zzepish
Гость_Илья
ну, у меня выборка криво шла! опять же- это если только я не напортачил (что не исключено).
Так так и делается проверка, через mysql_num_rows))
Гость_Илья
Ну если я не буду делать провеку, а просто сделаю удаление из бд:
mysqli_query($db,"DELETE FROM `user_pages` WHERE `page_id` = '$delete' AND `login` = '$login' LIMIT 1");

Будет нормально по безопасности?
Michael
Чтобы было нормально по безопасности, надо изучить статью по безопасности.

Насчет удаления - это вопрос права на такое удаление.

_____________
There never was a struggle in the soul of a good man that was not hard
exotica
Цитата
Ну если я не буду делать провеку, а просто сделаю удаление из бд:


Если имеено в таком виде, то скорее всего получишь ошибку если в бд не окажется логина соответствующего $login.

я бы попробовал так:
$check=mysqli_query($db,"SELECT `login`,`background`,`uploaded` FROM `user_pages` WHERE `page_id`='$delete'") or die(mysqli_error());
$check2 = mysqli_fetch_assoc($check);
if($check2) {
mysqli_query($db,"DELETE FROM `user_pages` WHERE `page_id` = '$delete' AND `login` = '$login' LIMIT 1");
} else {
echo 'Пользователя с данным логином не существует';
}


_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.