Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Resource id # - co z tym zrobić?
Forum PHP.pl > Forum > Przedszkole
woos
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
Sabistik
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
mike
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.
woos
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
skowron-line
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. ?>
DANGER
nie czaje w ogole po co 2 razy sie laczysz z baza...pozatym nie mozesz wpisac w mysql_query czegos takiego ($wybierz_wartosc, $connection2)
Sabistik
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] )
woos
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
Sabistik
$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.
mike
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.
woos
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.
Bogdan
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
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.