Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2011, 16:28   #1
Rost93
Форумчанин
 
Регистрация: 05.06.2011
Сообщений: 249
По умолчанию Чудо выборка

Здравствуйте, это снова я =(
И опять вроде глупый, но с*ка непонятный для меня вопрос.
Вообщем
PHP код:
$result9 mysql_query("SELECT login,email FROM users1",$db);
            
$myrow9 mysql_fetch_array($result9);
            if (
$myrow9['login'] == $login) {
                exit(
"<html><head><meta    http-equiv='Refresh' content='1;    URL=reg.php'></head><body>Извините, введённый вами логин уже    зарегистрирован. Введите другой логин.</body></html>");
            }
            if (
$myrow9['email'] == $email) {
                exit(
"<html><head><meta    http-equiv='Refresh' content='1;    URL=reg.php'></head><body>Извините, введённый вами почта уже    зарегистрирована. Введите другую почту.</body></html>");
                } 
При выполнении этого кода по какой то причине вместо выборки всех значений данного столбца, делает выборку только первого элемента.

Пожалуйста подскажите в чем проблема!
Чтобы быть жизнеспособным, нужно приспосабливаться к любой среде. © Хохот Шамана
Rost93 вне форума Ответить с цитированием
Старый 19.09.2011, 16:54   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

mysql_fetch_array возвращет массив строк, поэтому по нему проходить надо каким-нить foreach например
foreach ( mysql_fetch_array($result9) as $row)
echo $row['login'];

Или в вашем случае это будет
$myrow9 = mysql_fetch_array($result9);
echo $myrow9['0']['login'];

А вообще используйте var_dump($myrow9); - сразу будет видна вся структура данных
Cronos20 вне форума Ответить с цитированием
Старый 19.09.2011, 17:00   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

только не говорите что вы в таблицах user1, user2 итд - сколько пользователей, храните данные на пользователей
ADSoft вне форума Ответить с цитированием
Старый 19.09.2011, 18:25   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
mysql_fetch_array возвращет массив строк, поэтому по нему проходить надо каким-нить foreach например
foreach ( mysql_fetch_array($result9) as $row)
Ну прям из раздела "вредные советы"...

Ваш foreach будет ругаться матом, когда mysql_fetch_array() вернет ему FALSE ...

Есть же нормальный способ с while для таких целей:
PHP код:
while($row mysql_fetch_array($result)){
    echo 
$row['some_field'];

Я понимаю, что можно тупо отключить все ошибки - и забить на всё...
Но зачем учить такому ....коду других...?

Последний раз редактировалось Andkorol; 19.09.2011 в 19:55.
Andkorol вне форума Ответить с цитированием
Старый 19.09.2011, 18:56   #5
Rost93
Форумчанин
 
Регистрация: 05.06.2011
Сообщений: 249
По умолчанию

Andkorol Большое спасибо! Аж даже не вериться, что у меня получилось сделать эту проверку))

P.s. Я еще вернусь и создам очередную тупую тему =)
Чтобы быть жизнеспособным, нужно приспосабливаться к любой среде. © Хохот Шамана
Rost93 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чудо?! Bustle Свободное общение 26 08.07.2011 09:33
Чудо инженерной мысли sweex1234 Помощь студентам 1 17.02.2011 19:02
Выборка выборка с таблицы с отношением многие-ко-многим 8alig8 БД в Delphi 2 24.06.2010 12:21
Ctrl+Alt+C+H нажмёшь и будет чудо Richard22 Общие вопросы Delphi 5 12.05.2010 15:02