Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Warning: mysql_fetch_array():...
Forum PHP.pl > Forum > Przedszkole
jarzab
Witam serdecznie. Na początku chce zaznaczyć, że bardzo mało się znam na programowaniu więc nie denerwujcie się jak będą głupie pytania (a takie zapewnue będą).

Mysze wykonać coś w stylu Serwisu internetowego - sklepu
Jokoś sobie radze tylko w pewnym momecie jest mały problem.

Dodaje sobie jakis produkt do bazy danych, ale nie mogę jużgo edytować bo wyskakuje coś takiego:


Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\2\edycja_t.php on line 6


w kodzie wyglda to tak:

  1. <?php
  2. echo("<br>");
  3. $rezultat=mysql_query("select * from towar order by nazwa asc");
  4. while ($wiersz=mysql_fetch_array($rezultat));
  5. {
  6. ?>


o co cho??

Jeśli ktoś jest zaiteresowany to chętnie podeśle wszystki pliki które posiadam związane z tym serwisem, wtedy łatwiej będzie wam mi pomóc o co bardzo proszę.

Pozdrawiam
Master Miko
poczytaj while" title="Zobacz w manualu php" target="_manual

Na końcu nawiasu nie może być znaku ' ; '

czyli:
  1. <?php
  2. echo "<br>";
  3. $rezultat=mysql_query("select * from towar order by nazwa asc");
  4. while ($wiersz=mysql_fetch_array($rezultat))
  5. {
  6. // cos tam
  7. }
  8. ?>


syntax wygląda na poprawny... zastosuj się do rady ikioloaka z mysql_error()
ikioloak
@MasterMiko nie to powoduje blad. Zmien linie w ten sposob, zeby zobaczyc jaki blad zwraca baza:
  1. <?php
  2. $rezultat=mysql_query("select * from towar order by nazwa asc") or die(mysql_error());
  3. ?>

I zwroc uwage na to co napisal MasterMiko, bo nie zobaczysz inaczej wynikow zapytania.
jarzab
Dzieki. Teraz przynajmiej wiem gdzie mam błąd

Cytat
Table XXX doesn't exist


Postarma się ją jakos utworzyć i dam znać jak się posunęły prace

Ok teraz jakoś śmiga tylko jeszcze małe pytanie:

Dodałem tą tablicę w Krasnalu, ale czy jest możliwość, aby napisać kod który będzie sam tworzył tablice questionmark.gif
sebik
kod tworzacy tablice z dwoma polami:

  1. <?php
  2. mysql_query("CREATE TABLE nazwa_tabeli (id int unsigned not null auto_increment primary key, pole2 varchar(50)");
  3. ?>
jarzab
no dobrze napisze już sobie cały kod do mojej tabeli ale gdzie ona sie tworzy?? i jak mam sie do niej odwoływać
Cysiaczek
To nie jest tablica, tylko tabela. Tworzy ją na podstawie Twojego zapytania "CREATE..itd" baza danych (np. MySQL). Odnosisz się zadając bazie zapytanie (np 'SELECT * FROM tabela');
To gdzie się tworzy, to zależy od tego, jak jest zainstalowana baza.
Pozdrawiam.
jarzab
Sorry za tą tablice
To może inaczej zadam pytanie

Czy można napisać kod aby tabela tworzyła się w miejsce tej którą obecnie mam zrobionę ale poprzez Krasnala?



Mam nowy problem.

Po dodaniu nowego rekordu do tabeli chcę go edytować i gdy klikam na edycję to pokazuje mi coś takiego:

Cytat
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


Co może powodować błąd

Kod z pliku do edycji wygląda tak:

  1. <?php
  2. include "admin_g.html";
  3. $connection=@mysql_connect('xxxl:3307','xxx','xxx')
  4.  or die ("Nie można się połączyć z serwerem".mysql_error());
  5. $db=@mysql_select_db('xxx', $connection)
  6.  or die ("Nie można się połączyć z bazą".mysql_error());
  7. $wynik=mysql_query("select * from towar where id=$id") or die(mysql_error());
  8. $rezultat=mysql_fetch_array($wynik);
  9. $nazwa  =$rezultat['nazwa'];
  10. $marka  =$rezultat['marka'];
  11. $dostawca=$rezultat['dostawca'];
  12. $ilosc  =$rezultat['ilosc'];
  13. $cena =$rezultat['cena'];
  14.  
  15. echo "Edytujesz towar: <br><br> Id: $id, Nazwa: $nazwa, Marka: $marka, Dostawca: $dostawca, Ilość: $ilosc, C
    ena: $cena <br><br>
  16.  
  17.  
  18. <FORM action='akt_t.php?id=$id'' method='POST'>
  19. <TABLE>
  20. <TR>
  21. <TD>Nazwa towaru:</TD>
  22. <TD><INPUT name='nazwa' value='$nazwa'></TD>
  23. </TR>
  24. <TR>
  25. <TD>Marka towaru:</TD>
  26. <TD><INPUT name='marka' value='$marka'></TD>
  27. </TR>
  28. <TR>
  29. <TD>Dostawca:</TD>
  30. <TD><INPUT name='dostawca' value='$dostawca'></TD>
  31. </TR>
  32. <TR>
  33. <TD>Ilość towaru:</TD>
  34. <TD><INPUT name='ilosc' value='$ilosc'></TD>
  35. </TR>
  36. <TR>
  37. <TD>Cena:</TD>
  38. <TD><INPUT name='cena' value='$cena'></TD>
  39. </TR>
  40.  
  41. <TR>
  42. <TD>&nbsp;</TD>
  43. <TD><INPUT type='submit' value='Zmień'></TD>
  44. </TR>
  45. </TABLE>
  46. </FORM>
  47. ";
  48. include "admin_d.html";
  49. ?>


Macie jakieś propozycje??
maryaan
gdzie masz przypisanie zmiennej do $id? w tym momencie jest pusta i mysql wywala blad skladni
//tfu nie zmiennej tylko wartosci do zmiennej $id smile.gif

Cytat(jarzab @ 8.01.2007, 21:34:35 ) *
Czy można napisać kod aby tabela tworzyła się w miejsce tej którą obecnie mam zrobionę ale poprzez Krasnala?
nie rozumiem. Nie mozna utworzyc tabeli "w miejsce", mozna na tej obecnej zapodac "drop table..." i utworzyc nowa o tej samej nazwie. Krasnal nie ma nic do tego bo baze obsluguje mysql ktory jest jakby "skladnikiem" krasnala
jarzab
Możesz coś zaproponować nt. tego przypisania $id bo jakos nie wychodzi mi


Cytat
nie rozumiem. Nie mozna utworzyc tabeli "w miejsce", mozna na tej obecnej zapodac "drop table..." i utworzyc nowa o tej samej nazwie. Krasnal nie ma nic do tego bo baze obsluguje mysql ktory jest jakby "skladnikiem" krasnala


z tym już sobie poradziłem, ten problem miałe jakieś 3-4 dni temu a dziś edytowałem posta dlatego tak to wyszło
maryaan
no gdzies musisz dac $id = jakas_liczba zeby w ogole cos wyciagnac z bazy bo teraz masz bez sensu
jarzab
Fakt miałeś rację, trochę bez sensu. Zrobiłem coś takiego:

  1. <?php
  2. include "admin_g.html";
  3. $connection=mysql_dbconnect('xxx:3306','xxx','xxx')
  4.  or die ("Nie można się połączyć z serwerem".mysql_error());
  5. $db=mysql_select_db('xxx', $connection)
  6.  or die ("Nie można się połączyć z bazą".mysql_error());
  7.  
  8. if(!$id){$id=mysql_query("select id from towar where id='$id'") or die(mysql_error());}
  9.  
  10. $wynik=mysql_query("select * from towar where id=$id") or die(mysql_error());
  11. $rezultat=mysql_fetch_array($wynik);
  12. $nazwa  =$rezultat['nazwa'];
  13. $marka  =$rezultat['marka'];
  14. $dostawca=$rezultat['dostawca'];
  15. $ilosc  =$rezultat['ilosc'];
  16. $cena =$rezultat['cena'];
  17.  
  18. ...
  19. ?>


Teraz pisze mi coś takiego po klinknięci w edycję:

Cytat
Fatal error: Call to undefined function: mysql_dbconnect() in /var/www/sites/....xxx/edycja_tw.php on line 3
mike
Mamy po robie literówki poprawiać?
Przecież jasno jest napisane, że funkcja mysql_dbconnect() nie istnieje.

Istnieje za to mysql_connect() tongue.gif
jarzab
Sorry, ale ze mnie burak.
Po zmianie tego pisze tym razem tak :

Cytat
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id #5' at line


Jak mi się wyadje ma cały czas problem z tym pobieranie id, ale czy oby o to chodzi??
mike
Po to powstał ten wątek: Najczęstsze błędy, Zanim zapytasz, to sprawdź. i po to wisi przypiętym, żebyś między innymi z niego skorzystał.
Gwarantuję Ci że jeśli wykonasz wszystko co jest zalecane w punkcie drugim to sam odkryjesz błąd.

Ja Ci tylko podpowiem:
Cytat
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id #5' at line
oznacza (w skrócie):
Cytat
Masz błąd w składni swojego SQL'a. Sprawdź manuala na temat poprawnej składni ....
maryaan
nie chcialbym sie powtarzac ale...
Cytat(maryaan @ 8.01.2007, 22:44:35 ) *
no gdzies musisz dac $id = jakas_liczba zeby w ogole cos wyciagnac z bazy bo teraz masz bez sensu


co ma robic ta konstrukcja?
  1. <?php
  2. if(!$id){$id=mysql_query("select id from towar where id='$id'")
  3. ?>
bo mowiac "po naszemu" robi ona nic innego jak tylko: przy nieistniejacym $id wykonujesz zapytanie ktore wybiera z tabeli towar kolumne zawierajaca wartosci rowne $id , ktore nie istnieje blink.gif
juz pomijam fakt ze zrobienie czegos takiego
  1. <?php
  2. $wynik=mysql_query("select * from towar where id=$id");
  3. ?>
wpisze do zmiennej $wynik np cos takiego
Kod
Resource id #3


rowniez polecam poczytanie podwieszonego watku, podstawa to wiedziec na jakich danych aktualnie operujesz, bo bez tego ani rusz
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.