![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 17.03.2002 Skąd: zamość Ostrzeżenie: (0%) ![]() ![]() |
Hmm, teraz mam problem. Rozwiązanie pewnie jest prościutkie, ale ja dopiero się uczę... przy poleceniu mysql_fetch_array wyskakuje error "Supplied argument is not a valid MySQL result resource" .
Jakby ktoś chciał skrypt, to <? $sql=mysql_connect("localhost","user","password"); $baza="baza1"; echo ("<table><tr><td>"); $query = "SELECT imie,nazwisko,telefon FROM telefony"; $result = mysql_db_query($baza,$query); while ($wiersz = mysql_fetch_array ($result) ) { echo ($wiersz[imie]); echo ($wiersz[nazwisko]); echo ($wiersz[telefon]); } echo ("</tr></td></table>"); mysql_close ($sql); ?> hmm, nie wiem gdzie jest błąd, według moich manuali powinno wszystko być o.k. Może ktos wie jak mi pomoc? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi sie, ze chodzi o query powinno byc SELECT * FROM telefony
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 234 Pomógł: 0 Dołączył: 9.04.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat while ($wiersz = mysql_fetch_array ($result) )
Nie znam się na MySQL, ale zauważyłem, że popełniłeś błąd porównując zmienne w warunkach pętli - powinnno być $wiersz == mysql_fetch_array ($result). Pamiętaj, że pojedyńcze '=' to przypisanie, a nie porównanie. -------------------- Pozdrawiam,
Mistycus |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 268 Pomógł: 0 Dołączył: -- Skąd: kielce Ostrzeżenie: (0%) ![]() ![]() |
Cytat kabukiman napisał:
while ($wiersz = mysql_fetch_array ($result) ) Nie znam się na MySQL, ale zauważyłem, że popełniłeś błąd porównując zmienne w warunkach pętli - powinnno być $wiersz == mysql_fetch_array ($result) . Pamiętaj, że pojedyńcze ' = ' to przypisanie, a nie porównanie. To akurato jest dobrze! Bo wlasnie chodzi o przypisanie, a nie porownanie. Kod echo ($wiersz[imie]);
powinno byc: Kod echo ($wiersz['imie']);
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 234 Pomógł: 0 Dołączył: 9.04.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat To akurato jest dobrze! Bo wlasnie chodzi o przypisanie, a nie porownanie.
Od kiedy wewnątrz okrągłego nawiasu pętli wykonuje się jakieś operacje. Ten nawias służy do podawania warunków, a nie przypisywania wartości zmiennym. -------------------- Pozdrawiam,
Mistycus |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 268 Pomógł: 0 Dołączył: -- Skąd: kielce Ostrzeżenie: (0%) ![]() ![]() |
Mistycus: Bez urazy, ale powinienes postudiowac jakiegos manuala, najlepiej do c++ (tam chyba zdobedziesz najobszerniejsze info o operatorach)...
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 17.03.2002 Skąd: zamość Ostrzeżenie: (0%) ![]() ![]() |
nie bardzo, nie pomaga... z czym to może mieć związek?
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 268 Pomógł: 0 Dołączył: -- Skąd: kielce Ostrzeżenie: (0%) ![]() ![]() |
A z baza na pewno jest wszytsko OK? Zalozyles tabele z odpowiednimi polami? Wpisales cos do ich? Na localhoscie masz serwer MySQL? (sory za desperackie pytania, ale ja chyba nic wiecej nie pomoge...)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 17.03.2002 Skąd: zamość Ostrzeżenie: (0%) ![]() ![]() |
ta, serwer jest, pola są odpowiednie tylko ten $%^# błąd ciągle wyskakuje!
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Sprobuj moze
zamien: $result = mysql_db_query($baza,$query); na: $result = mysql_query($query); Nie wiem, moze to cos da... any way only hope can keep me together ![]() |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 17.03.2002 Skąd: zamość Ostrzeżenie: (0%) ![]() ![]() |
kurcze nie wiem, nie pomaga.. moze dam sobie z tym na razie spokój. Co to za błąd, tzn. czy moze to być wina źle skonfigurowanego serwera?
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 456 Pomógł: 0 Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
Cytat <?
$sql=mysql_connect("localhost","user","password"); $baza="baza1"; a wstaw tu to: Kod $baza_wybierz=mysql_select_db($baza);
Cytat echo ("<table><tr><td>");
$query = "SELECT imie,nazwisko,telefon FROM telefony"; i to zmien: Cytat $result = mysql_db_query($baza,$query);
na to: Kod $result=mysql_query($query,$sql);
Cytat while ($wiersz = mysql_fetch_array ($result) )
{ echo ($wiersz[imie]); echo ($wiersz[nazwisko]); echo ($wiersz[telefon]); } echo ("</tr></td></table>"); mysql_close ($sql); ?> Powinno pojsc :wink: -------------------- pozdrawiam
CASTOR |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 17.03.2002 Skąd: zamość Ostrzeżenie: (0%) ![]() ![]() |
kurcze, dalej nie dziala.... fuck... chyba jednak coś źle skonfigurowałem bo teraz nawet zdalnie (przez www) bazy się nie da założyć.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 17.03.2002 Skąd: zamość Ostrzeżenie: (0%) ![]() ![]() |
aargh... dosowy monitor działa ale jak już próbuję zarządzać bazą przez skrypt w php wtedy wszystko się wali.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 456 Pomógł: 0 Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
Glupia uwaga ale:
dostep do bazy czyli: haslo, user, i nazwa DB jest dobrze podana?? Jakie bledy ci wyskakuja?? ahhaa a jeszcze w tym co ci poprawilem zrob tak jak ci kryr powiedzial: Kod $wiersz['imie']
chodzi o uszy :wink: -------------------- pozdrawiam
CASTOR |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 31.03.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Zmodyfikuję trochę Twój kod:
Kod <?
/* spróbujemy nawiązać połączenie z bazą. Jeśli to się powiedzie, to zmiennej [b]$sql[/b] zostanie przypisany identyfikator połączenia (różny od zera). Jeśli się to nie powiedzie, to zmiennej [b]$sql[/b] zostanie przypisana wartość zero. Całe wyrażenie po [b]if[/b] zwróci tę właśnie wartość. */ if ($sql=mysql_connect("localhost","user","password")) { // połączenie OK. /* następnie spróbujemy wykonać zapytanie. Jeśli będzie ono poprawne, to funkcja [b]mysql_db_query[/b] zwróci identyfikator wyniku. W przeciwnym wypadku zwróci [b]0[/b] lub - jak kto woli - [b]FALSE[/b] */ $baza="baza1"; echo ("<table><tr><td>"); $query = "SELECT imie,nazwisko,telefon FROM telefony"; if ($result = mysql_db_query($baza,$query)) { // zapytanie OK. while ($wiersz = mysql_fetch_array ($result) ) { echo ($wiersz[imie]); echo ($wiersz[nazwisko]); echo ($wiersz[telefon]); } echo ("</tr></td></table>"); } else { echo('Zapytanie bylo bledne.'); } mysql_close ($sql); } else { echo('Polaczenie z baza nie powiodlo sie.'); } ?> W ten sposob zidentyfikujesz błąd. Jeszcze jedno: zwróć uwagę na zamknięcie tabeli w htmlu... Tam jest błąd (ale to oczywiście nie ma znaczenia dla mysql [sic!]). -------------------- misiu | chór
"Zdeterminowany programista potrafi stworzyć fatalny kod w każdym języku" Allen Holub |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 31.03.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie znam się na MySQL, ale zauważyłem, że popełniłeś błąd porównując zmienne w warunkach pętli - powinnno być $wiersz == mysql_fetch_array ($result). Pamiętaj, że pojedyńcze '=' to przypisanie, a nie porównanie.
To nie ma związku z MySQL. Poza tym TAM BYŁO DOBRZE! Ma być $wiersz = mysql_fetch_array ($result). Inaczej nie ma sensu, a wręcz nic nie da. O operatorach w php czytaj tu: http://www.php.net/manual/pl/language.oper....assignment.php. Pytanie na oblanie kiepskiego studenta nie znającego języka C: Niech $a=0, $b=10, $c=20, $d=30, $e=40. Zastanów się bez komputera, jaką wartość będzie miała zmienna $a po wykonaniu takiej linii: Kod $a-=$b=-$c+++$d-$e;
-------------------- misiu | chór
"Zdeterminowany programista potrafi stworzyć fatalny kod w każdym języku" Allen Holub |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 234 Pomógł: 0 Dołączył: 9.04.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat Pytanie na oblanie kiepskiego studenta nie znającego języka C:
Niech $a=0, $b=10, $c=20, $d=30, $e=40. Zastanów się bez komputera, jaką wartość będzie miała zmienna $a po wykonaniu takiej linii: Kod $a-=$b=-$c+++$d-$e; Skoro $c równa się 20, to $c++ będzie równało się 21, natomiast -$c++ równe będzie -21 (to chyba logiczne). W takim razie -$c+++$d równe będzie 9, a -$c+++$d-$e daje -31 i tyle właśnie równa się $b. Skoro $a równe 0 mamy pomniejszyć o wartość $b, w rezultacie otrzymamy $a równe 31. I co studenciku ![]() -------------------- Pozdrawiam,
Mistycus |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 31.03.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Cytat w rezultacie otrzymamy $a równe 31.
I co studenciku ![]() A mi jakoś wyszło 30. To dlatego, że wyrażenie $c++ zwiększy wartość zmiennej $c o 1, ale zwróci starą wartość $c, czyli 20. Gdyby było napisane ++$c zamiast $c++, to wyszłoby, że $a==31. Miałbyś piękną pałę w indeksie, że aż miło ![]() Proponuję jednak poczytać o operatorach inkrementacji i dekrementacji: http://www.php.net/manual/pl/language.oper...s.increment.php , a także zajrzeć do jakiejś książki o języku C. Wiem z własnego doświadczenia, że bazując na kursach w internecie, nie można się wiele nauczyć. -------------------- misiu | chór
"Zdeterminowany programista potrafi stworzyć fatalny kod w każdym języku" Allen Holub |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 234 Pomógł: 0 Dołączył: 9.04.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Ojej, sprawdziłem to przy pomocy php i okazało się, że popełniłem drobniutki błędzik :oops:
Chodzi o to, że wartość $c zostaje zwiększona o 1 w zapisie $c++, ale dopiero po wykonaniu działania. W rezultacie $a równe będzie 30, :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: [/b] -------------------- Pozdrawiam,
Mistycus |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 12:26 |