Спустя 15 минут, 1 секунда (22.09.2010 - 18:35) Dingo написал(а):
AntiGID
все просто
все просто
function exist_db_id ($db , $id = null)
{
//Защита от инъекции
intval($id);
//Собственно сам запрос
$sql = "SELECT * FROM `" . $db . "` WHERE `id` = '" . $id . "' LIMIT 1";
$result = mysql_query($sql) or die(mysql_error());
if ($result)
{
// если существует запись то возвращаем истину иначе ложь
if (mysql_num_rows($result) == 1)
{
return true;
}
}
return false;
}
Спустя 17 минут, 4 секунды (22.09.2010 - 18:52) inpost написал(а):
Dingo
Как криво.
В функции уже будет $id = null, и зачем тогда её проводить на intval? К тому же который в 2,3 раза медленнее обычного (int)??
Проверять на успешний результат, чтоб потом проверить количество колонок? Вообще извращение =)
AntiGID
Как криво.
В функции уже будет $id = null, и зачем тогда её проводить на intval? К тому же который в 2,3 раза медленнее обычного (int)??
Проверять на успешний результат, чтоб потом проверить количество колонок? Вообще извращение =)
AntiGID
$result = mysql_query("SELECT null FROM `table` WHERE `id`='".(int)$id."' LIMIT 1");
if (mysql_num_rows($result) > 0)
{
echo "Такой id уже есть";
}
Спустя 8 минут, 41 секунда (22.09.2010 - 19:00) Dingo написал(а):
inpost у тебя как раз очень криво, существует множество реализации, и кстати каждый выбирает сам? использовать (int) или intval().
И да, я же дал пример готовой функции, где надо указать только таблицу и id.
И да, я же дал пример готовой функции, где надо указать только таблицу и id.
Спустя 3 минуты, 23 секунды (22.09.2010 - 19:04) inpost написал(а):
Dingo
"-Ты дурак, - нет, сам дурак", странный ты однако человек. Ты тут хочешь показать, на сколько ты крутой? Знаешь, по тебе это не видно. Поучился бы сначала сам, а уже потом учил других. Твои ответы смахивают на уроки Попова, он тоже много чего лишнего постоянно делал.
"-Ты дурак, - нет, сам дурак", странный ты однако человек. Ты тут хочешь показать, на сколько ты крутой? Знаешь, по тебе это не видно. Поучился бы сначала сам, а уже потом учил других. Твои ответы смахивают на уроки Попова, он тоже много чего лишнего постоянно делал.
Спустя 5 минут, 21 секунда (22.09.2010 - 19:09) Dingo написал(а):
inpost я признаю что лишне проверять $result так как я выше сделал данную строчку
. максимум я бы переболтал так
$result = mysql_query($sql) or die(mysql_Error());
. максимум я бы переболтал так
function exist_db_id ($db , $id = null)
{
intval ($id);
$sql = "SELECT COUNT(*) FROM `" . $db . "` WHERE `id` = '" . $id . "' LIMIT 1";
if ($result = mysql_query($sql))
return (mysql_result($result,0) > 1) ? true : false;
}
Цитата |
Ты тут хочешь показать, на сколько ты крутой? |
я пытался помочь человеку..... всего то
Спустя 5 минут (22.09.2010 - 19:14) Kuliev написал(а):
Dingo
Из за одного запроса целую функцию городить ( смысл )?
Из за одного запроса целую функцию городить ( смысл )?
Спустя 2 минуты, 38 секунд (22.09.2010 - 19:17) inpost написал(а):
Dingo
Если и делать COUNT, то лучше COUNT(id), не зачем брать всю строку из БД, это будет нагрузка больше.
Запусти тест и проверь скорость работы intval и int. Попов учил меня делать intval, и неделю назад решил через microtime проверить, что эфективнее... И когда результат более чем в 2 раза лучше int - то ответ очевиден, что лучше в данном случае использовать.
Если и делать COUNT, то лучше COUNT(id), не зачем брать всю строку из БД, это будет нагрузка больше.
Запусти тест и проверь скорость работы intval и int. Попов учил меня делать intval, и неделю назад решил через microtime проверить, что эфективнее... И когда результат более чем в 2 раза лучше int - то ответ очевиден, что лучше в данном случае использовать.
Спустя 40 секунд (22.09.2010 - 19:18) Dingo написал(а):
Kuliev а если нужно несколько раз проверить, если один раз то можно и без функции Я ведь не навязываю свое мнение, не говорю что как сделал inpost это плохо.... я за демократию...
Спустя 1 минута, 16 секунд (22.09.2010 - 19:19) inpost написал(а):
Dingo
Я не критиковал функцию, я не критиковал все остальное, я корректировал твой пост, указывал места, где ошибки.
Если ты так будешь злостно реагировать, тебе врядли будут в дальнейшем помогать!
Я не критиковал функцию, я не критиковал все остальное, я корректировал твой пост, указывал места, где ошибки.
Если ты так будешь злостно реагировать, тебе врядли будут в дальнейшем помогать!
Спустя 1 минута, 23 секунды (22.09.2010 - 19:20) Dingo написал(а):
Цитата (inpost @ 22.09.2010 - 16:17) |
Если и делать COUNT, то лучше COUNT(id), не зачем брать всю строку из БД, это будет нагрузка больше. Запусти тест и проверь скорость работы intval и int. Попов учил меня делать intval, и неделю назад решил через microtime проверить, что эфективнее... И когда результат более чем в 2 раза лучше int - то ответ очевиден, что лучше в данном случае использовать. |
тебе что девушка не дала? я просто выложил код я не претендую на нобелевскую... я пока относительно спокоен, а знаешь как хочется тебя послать "науйх".
Цитата |
Если ты так будешь злостно реагировать, тебе врядли будут в дальнейшем помогать! |
а она мне нужна, я реально сюда лишь прихожу за советом, так как в основном все проблемы решаемы другим подходом или гуглом.
Спустя 44 секунды (22.09.2010 - 19:21) Kuliev написал(а):
Цитата (Dingo @ 22.09.2010 - 21:18) |
Kuliev а если нужно несколько раз проверить, если один раз то можно и без функции Я ведь не навязываю свое мнение, не говорю что как сделал inpost это плохо.... я за демократию... |
Спустя 2 минуты, 6 секунд (22.09.2010 - 19:23) inpost написал(а):
Dingo
Посылай, я привык, когда "такие как ты" это делают, не привыкать!
Я 6 лет был киберспортсменом, а там тролей... ты за жизнь столько не видел, сколько я видел за несколько месяцев!
Посылай, я привык, когда "такие как ты" это делают, не привыкать!
Я 6 лет был киберспортсменом, а там тролей... ты за жизнь столько не видел, сколько я видел за несколько месяцев!
Спустя 5 минут, 50 секунд (22.09.2010 - 19:29) Dingo написал(а):
все закрывайте тему.
inpost не провоцируй, я на этом форуме дольше тебя (точно 1 год, 4 месяца, 11 дней), и тролем я могу назвать тут только тебя. Разговор закончен.
inpost не провоцируй, я на этом форуме дольше тебя (точно 1 год, 4 месяца, 11 дней), и тролем я могу назвать тут только тебя. Разговор закончен.