Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Gdzie jest błąd?
Forum PHP.pl > Forum > Przedszkole
Wojteq
Witam.
Do takiego kodu:
  1. <?php
  2. $menu_list_query = &#092;"SELECT `art_id`, `page_title`, `chapter` FROM `arts` WHERE `chapter` = 1\";
  3. $menu_list = mysql_query($menu_list_query);
  4. $row_menu = 1;
  5. while($menu_list = mysql_fetch_array($menu_list, MYSQL_ASSOC))
  6. {
  7. echo &#092;"<a id=\"i{$menu_list['chapter']}_$row_menu\" href=\"$menu_list['art_id']\">{$menu_list['page_title']}</a>n\"; // linia 13
  8. $row_menu++;
  9. }
  10. ?>

pokazuje mi się taki błąd:
Cytat
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /public_html/test/templates/menu.tpl on line 13


Gdzie popełniłem błąd?

P.S.

Czy znacie jakąś stronę, na której znajdule się lista błędów wraz z opisem czego dotyczą ?
SongoQ
  1. <?php
  2. $menu_list_query = &#092;"SELECT `art_id`, `page_title`, `chapter` FROM `arts` WHERE `chapter` = 1\";
  3. $menu_list = mysql_query($menu_list_query);
  4. $row_menu = 1;
  5. while($menu_list = mysql_fetch_array($menu_list, MYSQL_ASSOC))
  6. {
  7. echo '<a id=\"i'.$menu_list['chapter'].'_'.$row_menu.'\" href=\"'.$menu_list['art_id'].'\">{'.$menu_list['page_title'].'}</a>'; // linia 13
  8. $row_menu++;
  9. }
  10. ?>
Wojteq
Dzięki. Mam jeszcze pytanie o jeden błąd:
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ...

Błąd jest w tej linii
  1. <?php
  2. while($menu_list = mysql_fetch_array($menu_list, MYSQL_ASSOC))
  3. ?>

W czym tym razem jest problem?
SongoQ
Albo nie zwrcilo rekordow albo to nie jest resource, czyli bledne zapytanie.
Wojteq
Zapytanie jest poprawne. Wykonałem je w phpMyAdmin i zwróciło odpowiednie rekordy. Co więc jest źle?
SongoQ
  1. <?php
  2. $menu_list_query = &#092;"SELECT `art_id`, `page_title`, `chapter` FROM `arts` WHERE `chapter` = 1\";
  3. $r_menu_list = mysql_query($menu_list_query);
  4. $row_menu = 1;
  5. while($menu_list = mysql_fetch_array($r_menu_list, MYSQL_ASSOC))
  6. {
  7. echo '<a id=\"i'.$menu_list['chapter'].'_'.$row_menu.'\" href=\"'.$menu_list['art_id'].'\">{'.$menu_list['page_title'].'}</a>'; // linia 13
  8. $row_menu++;
  9. }
  10. ?>


Dopiero teraz to zauwazylem napisywales sobie tablica resource.
Wojteq
Niestety ciągle jest to samo. Zobacz to na stronie, ktorą tworzę tutaj.
SongoQ
Co Ci zwraca $r_menu_list? resource?
Wojteq
Nic nie zwraca. Nie wiem dlaczego :|
SongoQ
A masz polaczenie z baza? Sprobuj resorce polaczenia dodac do mysql_query.

$r_menu_list = mysql_query($menu_list_query, resource polaczenia);
Wojteq
Połączenie mam wstawione za pomocą require_once().
  1. <?php
  2. require_once ('mysql_connect.php');
  3.  
  4. $menu_list_query = &#092;"SELECT `art_id`, `page_title`, `chapter` FROM `arts` WHERE `chapter` = 1\";
  5. $r_menu_list = mysql_query($menu_list_query);
  6. $row_menu = 1;
  7. while($menu_list = mysql_fetch_array($r_menu_list, MYSQL_ASSOC))
  8. {
  9. echo '<a id=\"i'.$menu_list['chapter'].'_'.$row_menu.'\" href=\"'.$menu_list['art_id'].'\">{'.$menu_list['page_title'].'}</a>';
  10. $row_menu++;
  11. }
  12.  
  13. ?>
SongoQ
A na pewno masz polaczenie z baza? Wyswietl resource polaczenia z baza?
Wojteq
Gdybym nie miał połączenia z bazą, to wcześniej pokazałby mi się błąd.

Wyświetla się Resource id #3
Diwi
A wrzuć taki kod:

  1. <?php
  2. require_once ('mysql_connect.php');
  3.  
  4. $menu_list_query = &#092;"SELECT `art_id`, `page_title`, `chapter` FROM `arts` WHERE `chapter` = 1\";
  5. $r_menu_list = mysql_query($menu_list_query) OR DIE (mysql_errno().' : '.mysql_error());
  6. $row_menu = 1;
  7. while($menu_list = mysql_fetch_array($r_menu_list, MYSQL_ASSOC))
  8. {
  9. echo '<a id=\"i'.$menu_list['chapter'].'_'.$row_menu.'\" href=\"'.$menu_list['art_id'].'\">{'.$menu_list['page_title'].'}</a>';
  10. $row_menu++;
  11. }
  12.  
  13. ?>


i pokaż co ci wyświetla smile.gif
Wojteq
Teraz mam:
1046 : No Database Selected
Diwi
A no właśnie czyli w pliku mysql_connect.php nie wybierasz bazy danych:

dorzuć coś takiego:

  1. <?php
  2. mysql_select_db('nazwa_bazy_danych');
  3. ?>
Wojteq
Plik mysql_connect.php
  1. <?php
  2. DEFINE ('DB_USER', 'web240_konkurs');
  3. DEFINE ('DB_PASSWORD', '*******');
  4. DEFINE ('DB_HOST', 'localhost');
  5. DEFINE ('DB_NAME', 'web240_konkurs');
  6.  
  7. $dbc = @mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) OR die('<b>Nie mogłem połączyć się z MySQL-em: '.mysql_error()).'</b>';
  8. @mysql_select_db(DB_NAME) OR die ('<b>Nie udało mi się wybrać bazy danych: '.mysql_error().'</b>' );
  9. ?>


Połączenie działa, bo wcześniej juz się łączyłem.
Diwi
a zmień kod w pliku głównym na taki:

  1. <?php
  2. require_once ('mysql_connect.php');
  3.  
  4. $menu_list_query = &#092;"SELECT `art_id`, `page_title`, `chapter` FROM `arts` WHERE `chapter` = '1'\";
  5. $r_menu_list = mysql_query($menu_list_query);
  6. $row_menu = 1;
  7. while($menu_list = mysql_fetch_array($r_menu_list, MYSQL_ASSOC))
  8. {
  9. echo '<a id=\"i'.$menu_list['chapter'].'_'.$row_menu.'\" href=\"'.$menu_list['art_id'].'\">{'.$menu_list['page_title'].'}</a>';
  10. $row_menu++;
  11. }
  12.  
  13. ?>


BTW: skąd ja znam ten szkielet wiem już z której książki się uczyłeś smile.gif
Wojteq
To samo... podgląd jest tutaj.
11 linia to ta, która zaczyna się od while

Uczyłem się z php i MySQL Szybki start smile.gif
SongoQ
Dziwne przeyklad podrecznikowy i nie dziala.

A spobuj zamiast petli wyswietlic

print_r(mysql_fetch_array($r_menu_list, MYSQL_ASSOC));
Wojteq
To samo sad.gif
Nic się nie zmieniło.
Ociu
Spróbuj tak:
  1. <?php
  2. while($menu_list = mysql_fetch_array($r_menu_list))
  3. ?>

Z tego co pamiętam właśnie zapis MYSQL_ASSOC wypluwa takie błędy.
Wojteq
OK, dzięki za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.