БЛин не могу понять где ошибка в одной строчке!!!! PHP

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение bobot » 2008-11-07 11:17:26

Код: Выделить всё

$sql = "select username from newmailbox where username='".$_POST['name']."'";
$result = mysql_query($sql, $connect);
if ($result)                  --------мне кажется тут ошибка !! но вроде правиьно  я и так делал $result !== false   и всёравнот не пашет
{
echo "xorosho";
}
else
{
echo "ploxo";
}
И резулытат один !! всё пишет хxorosho!!! этож не есть хорошо!!
Последний раз редактировалось Alex Keda 2008-11-07 15:10:56, всего редактировалось 1 раз.
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение zg » 2008-11-07 11:26:30

bobot писал(а):этож не есть хорошо!!
а чего тебе от него надо?

Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение bobot » 2008-11-07 12:04:05

Это скрипт для проверки существования Юзеров!!! Тоесть я ввожу в поле имя Юзера и этот скрипт должен проверить если такой юзер в базе данных или нету!!!!!!

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение zg » 2008-11-07 12:06:13

ааа, а я думал, что он проверяет правильность выполнения запроса :smile:

Код: Выделить всё

$sql = "select username from newmailbox where username='".$_POST['name']."'";
$result = mysql_query($sql, $connect);
if ( mysql_affected_rows() )
{
  echo "xorosho";
}
else
{
  echo "ploxo";
}

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение hizel » 2008-11-07 12:32:41

это что же строка из формочки сразу в мускул запрос !? :shock:
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение zg » 2008-11-07 12:38:14

hizel писал(а):это что же строка из формочки сразу в мускул запрос !? :shock:
маджик квотас спасёт мир! правда с шестой версии пхп её упразднят :roll: Но пока, она спасет мир!!! :smile:

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение BlackCat » 2008-11-23 17:22:25

PHP manual писал(а):mysql_affected_rows() не работает с SELECT -- только с запросами, модифицирующими таблицу. Чтобы получить количество рядов, возвращённых SELECT-запросом, используйте функцию mysql_num_rows().
Может попробовать так:

Код: Выделить всё

if ( mysql_num_rows($result)!=0 )

smolensk
проходил мимо

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение smolensk » 2008-11-23 18:14:07

Вот так работает 100%

Код: Выделить всё

<?php
$sql = "SELECT username FROM newmailbox WHERE username='$name'";
$result = mysql_query($sql, $connect);
$nums = mysql_num_rows($result);
if ($nums > 0) {
echo "Пользователь существует.";
} else {
echo "Пользователь не существует.";
}
?>

smolensk
проходил мимо

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение smolensk » 2008-11-23 18:15:25

Код: Выделить всё

$name=$_POST['name'];
$sql = "SELECT username FROM newmailbox WHERE username='$name'";
$result = mysql_query($sql, $connect);
$nums = mysql_num_rows($result);
if ($nums > 0) {
echo "Пользователь существует.";
} else {
echo "Пользователь не существует.";
}
забыл строку одну )

miozis
проходил мимо

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение miozis » 2008-11-27 5:41:28

и еще совет - НИКОГДА не подставляй данные из запроса сразу в sql
хотя бы так делай:

Код: Выделить всё

$name = mysql_real_escape_string($_POST['name']);
а то найдется умник, которого зовут

Код: Выделить всё

Вася'; truncate newmailbox;

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение zg » 2008-11-27 7:11:33

miozis писал(а):Вася'; truncate newmailbox;
-))) это не пройдёт по двум причинам:
1. мускуль не поддерживает выполнение более одной команды на запрос через mysql_query
2. на данный момент от магических кавычек не отказались и по умолчанию они включены на всех нормальных хостингах.

Максимум, что можно в мускуле сделать через инъекцию на выборку - добавить объединение, и выбрать левые данные.

Аватара пользователя
havarz
мл. сержант
Сообщения: 104
Зарегистрирован: 2008-05-06 15:18:07
Откуда: Камчатка

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение havarz » 2008-12-25 16:34:11

Максимум, что можно в мускуле сделать через инъекцию на выборку - добавить объединение, и выбрать левые данные.
Ну да, например пароли к админке или форуму или и т.д и т.п. :smile:

jeehadina
мл. сержант
Сообщения: 93
Зарегистрирован: 2008-04-07 8:59:20

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение jeehadina » 2008-12-25 17:17:20

эти х....ы магические кавычки еще на.. из кода php не убрали лишь потому, что как zg сказал "нормальные" хостинги их включили. мочить таких :evil: :-D
они немало программистких нервов перепортили.
а ескепить строки перед вставкой в запрос ВСЕГДА надо.
береженого Бог бережет.
я не баба, я - мужик...
(это чтоб никто не путал)

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: БЛин не могу понять где ошибка в одной строчке!!!! PHP

Непрочитанное сообщение zg » 2008-12-25 19:18:39

jeehadina писал(а):они немало программистких нервов перепортили.
+1 -))) и ещё сколько попортят http://anton-pribora.ru/articles/php-co ... quotes-gpc
Может быть, это, а может быть, ещё что-то побудило разработчиков сделать магические кавычки. Но надо было их делать либо для всех обязательными, либо не делать вовсе. Путаница, которую они вносят, даёт несомненно больший вред для безопасности и портируемости, чем реальной пользы. Но пока они есть, нужно делать следующее:
Проверять настройку magic_quotes_gpc.
Если магические кавычки включены, то принудительно убирать экранирование.
При работе с данными всегда использовать специальные функции для экранирования, такие как htmlentities(), mysql_real_escape_string(), addcslashes() и так далее. Как правило, для каждого типа данных есть своя функция, поскольку спецсимволы у всех разные.