Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Resource id # - co z tym zrobić?
woos
post 5.12.2006, 23:40:20
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.12.2006

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


Napisałem nastepujacy program:

  1. <?
  2. $baza= "funk";
  3. $tabela= "ilosc";
  4. $tabela2="wartosc";
  5.  
  6. $connection = mysql_connect ("localhost","root", "krasnal");
  7.  
  8. $wybierz_baze= mysql_select_db($baza, $connection)
  9. or die ("Wybór bazy zakończony niepowodzeniem");
  10.  
  11. $wybierz_ilosc= "select ilosc from ilosc where towar_id=10";
  12.  
  13. $zmienna1= mysql_query ($wybierz_ilosc, $connection)
  14. or die ("bl1");
  15.  
  16.  
  17.  
  18. $connection2 = mysql_connect ("localhost","root", "krasnal");
  19.  
  20. $wybierz_baze= mysql_select_db($baza, $connection2)
  21. or die ("Wybór2 bazy zakończony niepowodzeniem");
  22.  
  23. $wybierz_wartosc= "select cena from wartosc where towar_id=10";
  24.  
  25. $zmienna2= mysql_query ($wybierz_wartosc, $connection2)
  26. or die ("bl2");
  27.  
  28.  
  29. $mnozenie= $zmienna1 * $zmienna2;
  30.  
  31.  
  32. echo "$zmienna1<br/>";
  33. echo "$zmienna2<br/>";
  34. echo "$mnozenie";
  35.  
  36. ?>

Niestety zamiast wyswielić wartość liczbową funkcji $zmienna1 i $zmienna2 oraz $mnozenie, wyświetla następujący wynik:

Resource id #3
Resource id #4
12

Czy ktoś mógłby mi wyjaśnić, gdzie popełniłem błąd? sadsmiley02.gif

Ten post edytował woos 6.12.2006, 09:55:53
Go to the top of the page
+Quote Post
Sabistik
post 5.12.2006, 23:56:43
Post #2


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


Cytat
Czy ktoś mógłby mi wyjaśnić, gdzie popełniłem błąd?

Błąd popełniłeś nie czytając manuala. mysql_query" title="Zobacz w manualu php" target="_manual
Go to the top of the page
+Quote Post
mike
post 6.12.2006, 00:03:49
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(Sabistik @ 5.12.2006, 23:56:43 ) *
Cytat
Czy ktoś mógłby mi wyjaśnić, gdzie popełniłem błąd?
Błąd popełniłeś nie czytając manuala. mysql_query" title="Zobacz w manualu php" target="_manual

... oraz Regulaminu Forum a przede wszystkim zasad panujących na forum Przedszkole.
Proszę dostosować treść wątku (uzupełnić o wymagane tagi bbCode) oraz jego tytuł do wyżej wymienionych zasad.
Go to the top of the page
+Quote Post
woos
post 6.12.2006, 18:23:42
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.12.2006

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


Jakiej funkcji powinienem zatem użyć? Próbowałem z mysql_fetch_row i mysql_fetch_object, ale niewiele mi z tego wychodzi... Rkingsmiley.png
Go to the top of the page
+Quote Post
skowron-line
post 6.12.2006, 18:52:11
Post #5





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Kod
Jakiej funkcji powinienem zatem użyć?

to nie funkcja to zaklecie

  1. <?php
  2. $result = mysql_query("SELECT * WHERE 1=1")
  3.  or die("Zapytanie niepoprawne");
  4. ?>


zywcem z manuala

wiec u ciebie powinno byc
  1. <?php
  2. $zmienna1= mysql_query ($wybierz_ilosc)
  3. ?>


Ten post edytował skowron-line 6.12.2006, 18:52:49


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
DANGER
post 6.12.2006, 18:54:08
Post #6





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 23.11.2006

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


nie czaje w ogole po co 2 razy sie laczysz z baza...pozatym nie mozesz wpisac w mysql_query czegos takiego ($wybierz_wartosc, $connection2)
Go to the top of the page
+Quote Post
Sabistik
post 6.12.2006, 20:07:10
Post #7


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


Cytat
pozatym nie mozesz wpisac w mysql_query czegos takiego ($wybierz_wartosc, $connection2)

A to niby czemu?
Kod
resource mysql_query ( string query [, resource link_identifier] )
Go to the top of the page
+Quote Post
woos
post 6.12.2006, 21:24:16
Post #8





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.12.2006

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


Przepraszam za natręctwo, ale bardzo mi zależy na poprawnym działaniu tego kodu- niestety php zajmuję się od 2 tygodni.

Program zmieniłem w następujący sposób:

  1. <?
  2. $baza= "funk";
  3. $tabela= "ilosc";
  4. $tabela2="wartosc";
  5.  
  6. $connection = mysql_connect ("localhost","root", "krasnal");
  7.  
  8. $wybierz_baze= mysql_select_db($baza, $connection)
  9. or die ("Wybór bazy zakończony niepowodzeniem");
  10.  
  11. $wybierz_ilosc= "select ilosc from $tabela where towar_id=10";
  12.  
  13. $zmienna1= mysql_query ($wybierz_ilosc)
  14. or die ("bl1");
  15. $ilosc= mysql_fetch_row ($zmienna1);
  16.  
  17. //$connection2 = mysql_connect ("localhost","root", "krasnal");
  18.  
  19. //$wybierz_baze= mysql_select_db($baza, $connection2)
  20. //or die ("Wybór2 bazy zakończony niepowodzeniem");
  21.  
  22. $wybierz_wartosc= "select cena from $tabela2 where towar_id=10";
  23. $zmienna2= mysql_query ($wybierz_wartosc)
  24. or die ("bl2");
  25. $cena= mysql_fetch_row ($zmienna2);
  26.  
  27. //$mnozenie= $ilosc * $cena;
  28.  
  29.  
  30. echo "$ilosc<br/>";
  31. echo "$cena<br/>";
  32. //echo "$mnozenie";
  33.  
  34. ?>


Wciąż jednak zamiast wartości liczbowych zmiennych $ilość i $cena zapisanych w bazie danych otrzymuję wynik w postaci:

Array
Array
Go to the top of the page
+Quote Post
Sabistik
post 6.12.2006, 21:27:17
Post #9


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


$ilosc oraz $cena to tablice. Wyświetl je sobie za pomocą print_r()" title="Zobacz w manualu php" target="_manual, zobacz co wnich masz i dopiero odpowiednio się odwołaj do tych danych.
Go to the top of the page
+Quote Post
mike
post 6.12.2006, 21:28:08
Post #10





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Dlaczego wywala Array?
Bo robisz: echo $ilosc;.
A dlaczego $ilosc; jest tablicą? Bo tak powinno być, w końcu sam ją stworzyłeś.

Zacznij człowieku czytać dokumentacje funkcji których używasz, bo dostaniesz na dzień dobry ostrzeżenie i zamknięcie wątku.
Go to the top of the page
+Quote Post
woos
post 6.12.2006, 21:46:37
Post #11





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.12.2006

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


Cytat(Sabistik @ 6.12.2006, 21:27:17 ) *
$ilosc oraz $cena to tablice. Wyświetl je sobie za pomocą print_r()" title="Zobacz w manualu php" target="_manual, zobacz co wnich masz i dopiero odpowiednio się odwołaj do tych danych.


Dziękuję teraz jest ok.
Go to the top of the page
+Quote Post
Bogdan
post 7.12.2006, 23:04:39
Post #12





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 1.12.2006

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


Cytat
Przepraszam za natręctwo, ale bardzo mi zależy na poprawnym działaniu tego kodu- niestety php zajmuję się od 2 tygodni.

Program zmieniłem w następujący sposób:


<?
$baza= "funk";
$tabela= "ilosc";
$tabela2="wartosc";

$connection = mysql_connect ("localhost","root", "krasnal");

$wybierz_baze= mysql_select_db($baza, $connection)
or die ("Wybór bazy zakończony niepowodzeniem");

$wybierz_ilosc= "select ilosc from $tabela where towar_id=10";

$zmienna1= mysql_query ($wybierz_ilosc)
or die ("bl1");
$ilosc= mysql_fetch_row ($zmienna1);

//$connection2 = mysql_connect ("localhost","root", "krasnal");

//$wybierz_baze= mysql_select_db($baza, $connection2)
//or die ("Wybór2 bazy zakończony niepowodzeniem");

$wybierz_wartosc= "select cena from $tabela2 where towar_id=10";
$zmienna2= mysql_query ($wybierz_wartosc)
or die ("bl2");
$cena= mysql_fetch_row ($zmienna2);

//$mnozenie= $ilosc * $cena;


echo "$ilosc<br/>";
echo "$cena<br/>";
//echo "$mnozenie";

?>


Wciąż jednak zamiast wartości liczbowych zmiennych $ilość i $cena zapisanych w bazie danych otrzymuję wynik w postaci:

Array
Array



Proponuję
  1. $wybierz_wartosc= "select cena from $tabela2 where towar_id=10";
  2.  
  3. $zmienna2= mysql_query ($wybierz_wartosc) or die ("bl2");
  4.  
  5. $cena= mysql_fetch_row ($zmienna2); // zlicza wiersze (ilość wpisów) - a co Ty chcesz zrobić ?
  6.  
  7. //to poniżej powinno zadziałać
  8.  
  9. $row=mysql_fetch_array($zmienna2)
  10.  
  11. echo $row['ilosc'] ."<br />";
  12. echo $cena ."<br />";



Pozdrawiam

Ten post edytował Bogdan 7.12.2006, 23:06:48
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 16.07.2025 - 14:29