![]() |
![]() |
![]()
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 |
|
|
![]()
Post
#21
|
|
![]() Grupa: Zarejestrowani Postów: 234 Pomógł: 0 Dołączył: 9.04.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat Wiem z własnego doświadczenia, że bazując na kursach w internecie, nie można się wiele nauczyć.
Ja swą naukę rozpocząłem sprawdzając kody źródłowe (tak było w przypadku HTML'a i BAT). Kursy internetowe nauczyły mnie JavaScriptu, a obecnie pokazują mi czym jest php i nie wiem czemu sądzisz, że takie kursy wiele mnie nie nauczą. W najbliższym czasie tą samą metodą mam zamiar nauczyć się C++ i Java'y. Masz lepszy pomysł? -------------------- Pozdrawiam,
Mistycus |
|
|
![]()
Post
#22
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 31.03.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Cytat Masz lepszy pomysł?
Parę złotych i masz dobrą książkę, ale nie taką w stylu "Nauka C++ w weekend". Takie kursy w internecie piszą amatorzy, którzy może mają doświadczenie w programowaniu lub obsłudze jakiegoś programu, ale zazwyczaj nie potrafią tej wiedzy przekazać. Mogą one posłużyć jedynie jako wstęp do omawianego problemu, jednak jest to bardzo powierzchowny opis. Naprawdę - warto zainwestować w dobrą książkę. Strzeż się książek wydawnictwa Hel**n (nie chcę podawać nazwy) - są one tłumaczone przez ludzi, którzy nie znają się na rzeczy, a sam ich poziom też nie jest za wysoki. To samo z serią "...dla opornych". Warto rozejrzeć się za książkami wydawnictw WNT i MIKOM. Dobra książka informatyczna to taka, w której nie leje się wody, a z drugiej strony taka, w której nie podaje się suchej teorii, tylko dużo przykładów. -------------------- misiu | chór
"Zdeterminowany programista potrafi stworzyć fatalny kod w każdym języku" Allen Holub |
|
|
![]()
Post
#23
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Jesli chodzi o dobry (a nawet bardzo dobry) ksiazkowy kurs to polecam ARKANA "C++ Programowanie" Harvey'a M. Deitel i Paul'a J. Deitel. Ja tak jaki i ty Miscytus jestem samoukiem i ta ksiazka naprawde wiele mnie nauczyla. Jest tylko jedno ale: kosztuje ok 100zl. Lacznie stron ma 1082. Wyjasniona jest cala skladnia, funkcje, klasy itd.
Ja po kupieniu ksiazki wydawnictwa Helion podchodzilem sceptycznie do tego typu opracowan ale ta ksiazka jest naprawde SUPER :!: |
|
|
![]()
Post
#24
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: -- Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Panowie, prosze trzymac sie tematu, a jakiekolwiek inne dygresje umieszczac w nowych watkach, a dyskusje bardzo odbiegajace od tematow php,MYSQL,PGSQL,APACHE umieszczac w nieistniejacym niestety jeszcze ( Hyper- miales zalozyc
![]() Forum Hydepark bedzie zalozone w ciagu kilku dni. Na przyszlosc prosze tam kierowac tego typu rozmowy. W innym wypadku, forum zostanie zasmiecone, co znacznie obnizy jego wartosc merytoryczna,albo watki beda blokowane. :/ -------------------- Pozdrawiam,
Piotr Drewnik || haiaw@crew.php.pl |
|
|
![]()
Post
#25
|
|
![]() Grupa: Zarejestrowani Postów: 234 Pomógł: 0 Dołączył: 9.04.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Msulik - jak odłoże trochę kasy, to napewno kupię sobie którąś z książek MIKOMA'a lub WNT'a. Tobie Seth również dzięki
![]() Co do Ciebie Haiaw, to dałbyś spokojnie porozmawiać. Ok? Jak sam piszesz nie ma jeszcze forum "Hydepark", więc póki co nie usuwaj postów o podobnej tematyce. Swoją drogą temat książek o php nie odbiega chyba bardzo tematyce tego forum. Czyż nie :?: -------------------- Pozdrawiam,
Mistycus |
|
|
![]()
Post
#26
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
Cytat <?
$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); ?> ja bym to zrobil tak <?php @mysql_connect("localhost","user","passwd") or die(mysql_error()); $exec = mysql_db_query("baza", "select imie, nazwisko, telefon from telefony") or die(mysql_error()); print("<table><tr><td>"); while($row = mysql_fetch_row($exec)) print("$row[0] $row[1] $row[2]"); print("</td></tr></table>"); ?> jak dalej sie sypie to znaczy ze zle wyciagasz dane z tabeli (inna nazwa, komorki itp) |
|
|
![]()
Post
#27
|
|
![]() Grupa: Zarejestrowani Postów: 268 Pomógł: 0 Dołączył: -- Skąd: kielce Ostrzeżenie: (0%) ![]() ![]() |
Mam wrazenie, ze krecicie sie w kolko... te wszystkie skrypty roba dokladnie to samo...
|
|
|
![]()
Post
#28
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
no ale jak tu mu nie dziala to raczej cos zle wyciaga
|
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 17.03.2002 Skąd: zamość Ostrzeżenie: (0%) ![]() ![]() |
AHHAHAHAHAHAHAH!!!!!
działa, działa! sorki za ten wybuch ale nie mogłem się powstrzymać. Kurcze, już wiem gdzie jest błąd!!! Skrypt był w porządku, a ja wam trułem głowę bez powodu. Jak tworzyłem bazę to zamiast "baza1" zrobiłem baze o nazwie "bza1". Dopiero WCZORAJ to zauważyłem. |
|
|
![]()
Post
#30
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
![]() ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 04:52 |