Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> error
kabukiman
post
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?
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 29)
Seth
post
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
Go to the top of the page
+Quote Post
Mistycus
post
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
Go to the top of the page
+Quote Post
kryr
post
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']);
Go to the top of the page
+Quote Post
Mistycus
post
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
Go to the top of the page
+Quote Post
kryr
post
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)...
Go to the top of the page
+Quote Post
kabukiman
post
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?
Go to the top of the page
+Quote Post
kryr
post
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...)
Go to the top of the page
+Quote Post
kabukiman
post
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!
Go to the top of the page
+Quote Post
Seth
post
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 biggrin.gif
Go to the top of the page
+Quote Post
kabukiman
post
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?
Go to the top of the page
+Quote Post
castor
post
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
Go to the top of the page
+Quote Post
kabukiman
post
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ć.
Go to the top of the page
+Quote Post
kabukiman
post
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.
Go to the top of the page
+Quote Post
castor
post
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
Go to the top of the page
+Quote Post
msulik
post
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
Go to the top of the page
+Quote Post
msulik
post
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
Go to the top of the page
+Quote Post
Mistycus
post
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 laugh.gif :?: Ja uczę się programowania na własną rękę, a nie w jakiejś tam akademii. Na początku był HTML (półtora roku temu), potem JavaScript(rok temu), a od 09.04.2002 php. W między czasie był jeszcze BAT (pliki wykonywalne *.bat w Windowsie). I tak w przeciągu półtora roku nauczyłem się w całości dwóch języków i po części jeszcze kilku. Tak więc niech mi nikt nie sugeruje, że się nie znam na operatorach. :x


--------------------
Pozdrawiam,
Mistycus
Go to the top of the page
+Quote Post
msulik
post
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 laugh.gif  :?:  


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 biggrin.gif

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
Go to the top of the page
+Quote Post
Mistycus
post
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
Go to the top of the page
+Quote Post
Mistycus
post
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
Go to the top of the page
+Quote Post
msulik
post
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
Go to the top of the page
+Quote Post
Seth
post
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 :!:
Go to the top of the page
+Quote Post
haiaw
post
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 winksmiley.jpg ) forum Hydepark.

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
Go to the top of the page
+Quote Post
Mistycus
post
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 smile.gif

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
Go to the top of the page
+Quote Post
em1X
post
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)
Go to the top of the page
+Quote Post
kryr
post
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...
Go to the top of the page
+Quote Post
em1X
post
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
Go to the top of the page
+Quote Post
kabukiman
post
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.
Go to the top of the page
+Quote Post
Seth
post
Post #30





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


rolleyes.gif biggrin.gif
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 04:52