[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql_fetch_array не хочет заносить результат
lisdrumz
Здравствуйте, уважаемые коллеги! Я новичок в программировании, на данный момент учусь по учебнику. Появилась такая проблема.
Сразу даю код:
include('blocks/bd.php');//соединяемся с БД

if(isset($_GET['id'])) {
$id = $_GET['id'];
}
else { echo("Error");}
//выбираем нужные поля
$result = mysql_query('SELECT * FROM lessons WHERE id="$id"', $db);

$myrow = mysql_fetch_array($result);
if($myrow = mysql_fetch_array($result)) {echo "Ура";} else {echo "Ошибка";}


Вот тут кроется какая-то логическая ошибка, ибо интерпретатор php не ругается, и в браузере ошибок никаких нет. А вот слово "Ошибка" браузер выводит. И из-за этого я не могу организовать динамический вывод информации из БД.

Очень надеюсь на вашу помощь.

Заранее благодарен.



Спустя 11 минут, 1 секунда (17.06.2011 - 14:46) inpost написал(а):
lisdrumz
Интересно, назови имя учебника, очень хочется узнать, по какому такому учебнику учился Попов smile.gif
Ах да, Попов рассказывал, что делает функция: mysql_fetch_array, она перещёлкивает на +1 значение. Если id = 1, выбралось 1 запись. Ты запустил mysql_fetch_array дважды, второй раз вернул FALSE< потому что второй записи нету, поэтому у тебя и вывелось ОШИБКА

Спустя 2 минуты, 7 секунд (17.06.2011 - 14:48) linker написал(а):
Округляя сказанное инпостом, удали первый
$myrow = mysql_fetch_array($result);

Спустя 5 минут, 19 секунд (17.06.2011 - 14:53) lisdrumz написал(а):
Немного не понял - зачем удалять эту строчку? Ведь, во-первых, у меня не одна запись, а во-вторых - почему же я вызываю эту функцию дважды? Кажется, она в коде встречается один раз И если я её удалю, то как мне нужные значения поместить в массив?

Цитата (inpost @ 17.06.2011 - 11:46)
Ты запустил mysql_fetch_array дважды


Да почему же, никак понять не могу...sad.gif

Спустя 45 секунд (17.06.2011 - 14:54) inpost написал(а):
$myrow = mysql_fetch_array($result); - первый раз!
if($myrow = mysql_fetch_array($result)) - второй раз!

Условие звучит так: мы запустили то, что в скобках, результат скобок проверяется, прошел ли он: TRUE\FALSE

Спустя 2 минуты, 5 секунд (17.06.2011 - 14:56) lisdrumz написал(а):
Так я это делал для проверки, так как даже когда у меня ещё не было второго вызова, ничего не получалось.
Убрал... Тоже самое - ошибок нету, но и вывода переменных тоже нету.

Спустя 4 минуты, 24 секунды (17.06.2011 - 15:00) nugle написал(а):
сделай так
include('blocks/bd.php');//соединяемся с БД

if(isset($_GET['id'])) {
$id = $_GET['id'];
}
else { echo("Error");}
//выбираем нужные поля
$result = mysql_query('SELECT * FROM lessons WHERE id="$id"', $db);

$myrow = mysql_fetch_array($result);
var_dump($myrow);

и посмотри есть ли там что нибудь или нет

Спустя 5 минут, 26 секунд (17.06.2011 - 15:06) lisdrumz написал(а):
Сделал. И попытался сразу после этого вывести ещё одно значение. Получилось так:
<?php 
include('blocks/bd.php');//соединяемся с БД

if(isset($_GET['id'])) {
$id = $_GET['id'];
}
else { echo("Error");}
//выбираем нужные поля
$result = mysql_query('SELECT * FROM lessons WHERE id="$id"', $db);

$myrow = mysql_fetch_array($result);
var_dump($myrow);
echo $myrow['title'];
?>


Вывело такое: bool(false)

Странно, вроде всё делаю, как показывают, в чём же проблема?

Спустя 1 минута, 25 секунд (17.06.2011 - 15:07) nugle написал(а):
lisdrumz
а что var_dump() вывел?

Спустя 2 минуты, 17 секунд (17.06.2011 - 15:10) linker написал(а):
$result = mysql_query("SELECT * FROM lessons WHERE id='" . $id . "'", $db);
Забота об обработке ошибок снимает 90% головной боли.

Спустя 3 минуты, 48 секунд (17.06.2011 - 15:13) lisdrumz написал(а):
АААА!!! Спасибо, огромнейшее спасибо!:)
Если не тяжело, подскажите - что это за магия, и почему такого не потребовалось Попову? smile.gif

Спустя 6 минут, 47 секунд (17.06.2011 - 15:20) linker написал(а):
Потому что Попов говнокодер и индус, а те кто у него учатся множат и без того бесчисленное количество ошибок, как сломанный телефон. Поэтому забей на Попова, пока не поздно и переходи на книги зарубежных авторов, можно на ирбисе тоже поучиться.

Спустя 12 минут, 59 секунд (17.06.2011 - 15:33) lisdrumz написал(а):
Учту это, linker. А как Вы считаете, может для начала как раз Попова хватит, а потом уже надо будет читать что-нибудь серьёзное?
И ещё прошу Вас - объясните, зачем надо было так изменить код, и почему мне надо было так делать, а другому человеку(Попову, индусу - неважно) - нет?

Спустя 4 минуты, 32 секунды (17.06.2011 - 15:38) inpost написал(а):
lisdrumz
Глянь ссылки у меня в подписи, после Попова очень полезно бывает smile.gif

Ответ в том, что ты использовал одинарные кавычки. Вот пример:
$var = 'ПИВО!'; // ты же любишь пиво?
echo "Я люблю $var , оно вкусное \n\rА это уже новая строка";
echo '<hr />';
echo 'Я люблю $var , оно вкусное \n\rА это уже новая строка';

Теперь открывай исходный код и смотри разницу, понимаешь свою ошибку? Ошибка в выборе кавычек, те кавычки не интерпретируются. Если уж вообще правильно писать - так, как пишет Линкер.

Спустя 12 минут, 15 секунд (17.06.2011 - 15:50) lisdrumz написал(а):
Всё понял, спасибо.
А что Вы можете сказать о курсе Профессионал PHP - http://www.ex.ua/view/3835031
Там вроде дядьки из МГУ лекции читают, или что-то в этом роде.
Просто хочу начать изучать именно его после Попова...

Спустя 1 минута, 3 секунды (17.06.2011 - 15:51) linker написал(а):
lisdrumz
После Попова приходится переучиваться, причём делать это приходится в начальных фундаментальных вещах, без которых дальше делать просто нечего. Отсюда вывод, на кой ляд нужна трата времени и своих финансов на Попова, если всёравно придётся переучиваться? Попову, главное бабки срубить на своих уроках, а не реально чему-то и кого-то научить.

Спустя 1 минута, 45 секунд (17.06.2011 - 15:53) lisdrumz написал(а):
То есть Вы советуете прямо сейчас бросить этот курс? Даже, если я ещё новичок?
Кстати - гляньте мой предыдущий пост, что скажете на счёт этого курса?

Спустя 3 минуты, 20 секунд (17.06.2011 - 15:56) nugle написал(а):
lisdrumz
я посоветую бросить курс, я тоже с него начал, но тут так же мне сказали бросить, я бросил и очень доволен)

Спустя 36 секунд (17.06.2011 - 15:57) linker написал(а):
Чем раньше бросишь Попова, тем лучше. Лучше хорошей книги и придумать нельзя. А по поводу курса, ничего не могу сказать, ибо ссылка не работает.

Спустя 1 минута, 35 секунд (17.06.2011 - 15:58) inpost написал(а):
lisdrumz
Ну что я могу сказать... Представь картину, мой брат помогает своему лучшему другу с дипломом, так как он мало знает программирование, пару курсов тянет, даёт списать, все получают красивую корочку, красивые блондинки 5+, крутые программисты тянут с трудом на 4-, мой брат поступает работать администратором сетей за приличную з/п, его друг, о котором ранее говорил, находит работу в "Академии Шаг", единственная академия, где учат всему для веба. Вот и подумай, преподают, а какие у них знания, если она работают на гос. учереждении за гос.зарплату для студентов?
Вот так и там, пока один пыхтит в месяц на 300-500$, другой за месяц делает 10`000$, и можно ли утверждать, что 300$ в университете препод имеет знания выше, чем тот, кто работает по настоящему, где контроль за его знаниями осуществляет жизнь?!

Хотя как альтернативу могу сказать вот что: человек, прочитавший 5 книг будет умнее того, кто прочитал всего 1 книгу. Очевидно, что надо, но лучше после Попова изучать по данным направлениям: наш форум, учебник Котерова, irbis-team.com , mysql.ru , ну и реальная практика на сайтах.

Я путаюсь между специалистом и профессионалом, но один из курсов - ужасный smile.gif

Спустя 2 минуты, 58 секунд (17.06.2011 - 16:01) lisdrumz написал(а):
Цитата (inpost @ 17.06.2011 - 12:58)
irbis-team.com


Это вообще офигительный сайт, сразу себе в закладки добавил! Всё очень сжато, чётко, без воды, и главное - конкретно, много кода. Класс!

Цитата (inpost @ 17.06.2011 - 12:58)
Я путаюсь между специалистом и профессионалом, но один из курсов - ужасный


А какой точно - никак не сможете вспомнить или узнать?

Спустя 57 секунд (17.06.2011 - 16:02) lisdrumz написал(а):
Цитата (lisdrumz @ 17.06.2011 - 13:01)
по поводу курса, ничего не могу сказать, ибо ссылка не работает.


Странно - у меня ссылка работает.
А так, не вспомните - курс "Профессионал PHP"?

Спустя 48 секунд (17.06.2011 - 16:03) inpost написал(а):
lisdrumz
Никак! Один из них не качал, второй скачал, плюнул в сторону автора, и удалил smile.gif Уж лучше Попов...

Спустя 1 минута, 12 секунд (17.06.2011 - 16:04) lisdrumz написал(а):
Цитата (inpost @ 17.06.2011 - 13:03)


Ёпт! Даже так?smile.gif

Спустя 1 минута, 20 секунд (17.06.2011 - 16:06) nugle написал(а):
lisdrumz
учись по ирбису и все будет в шоколаде)

Спустя 42 секунды (17.06.2011 - 16:06) lisdrumz написал(а):
Цитата (nugle @ 17.06.2011 - 13:06)
учись по ирбису


Вот я так почему-то тоже думаю...smile.gif

Спустя 4 минуты, 20 секунд (17.06.2011 - 16:11) inpost написал(а):
lisdrumz
Ирбис + учебник Котерова.

Спустя 54 секунды (17.06.2011 - 16:11) lisdrumz написал(а):
Цитата (inpost @ 17.06.2011 - 13:11)
учебник Котерова.


Полное название можно, пожалуйста?

Спустя 3 минуты, 29 секунд (17.06.2011 - 16:15) inpost написал(а):
lisdrumz
Гугл всегда помогает:
http://my.jetscreenshot.com/demo/20110617-ijvo-165kb

Спустя 2 минуты, 9 секунд (17.06.2011 - 16:17) lisdrumz написал(а):
Благодарю.
Быстрый ответ:

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