Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] zasięg zmiennych -funkcja- tablica
matyskiewicz
post 15.04.2009, 13:20:47
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

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


Witam
Potykam się z zasięgiem zmiennych w danym przykładzie
  1. <?php
  2. function dbSelect($query)
  3.    {
  4.        $this -> query = $query;
  5.        if (!$this -> result = mysqli_query($this -> mysqli, $this -> query))
  6.        {
  7.            printf("ERROR: %s\n", $this -> mysqli -> error);
  8.        }
  9.        else
  10.        {
  11.            while($row = mysqli_fetch_assoc($this -> result))
  12.            {
  13.                echo'<pre>';
  14.                print_r($row); //widoczne
  15.                echo'</pre>';                        
  16.            }    
  17.            return $row;
  18.        }
  19.    }
  20. ?>


  1. <?php
  2. $db = new db;
  3. $db -> dbConnect($host, $user, $pass, $table);
  4. $db -> dbSelect("SELECT * FROM pracownicy");
  5.                echo'<pre>';
  6.                print_r($row); //niewidoczne
  7.                echo'</pre>';
  8. ?>


Dlaczego mimo zwrócenia zmiennej $row po wysłaniu zapytania nie zwróciło mi tablicy?

Ten post edytował matyskiewicz 15.04.2009, 13:22:43


--------------------
eclipse :)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
wookieb
post 15.04.2009, 13:22:53
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Bo nie zapisujesz wyrzuconego wyniku tylko porzucasz gdzieś w czeluścia
  1. <?php
  2. $row=$db -> dbSelect("SELECT * FROM pracownicy");
  3. ?>


Ten post edytował wookieb 15.04.2009, 13:23:59


--------------------
Go to the top of the page
+Quote Post
matyskiewicz
post 15.04.2009, 13:27:53
Post #3





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

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


  1. <?php
  2. function dbSelect($query)
  3.    {
  4.        $this -> query = $query;
  5.        if (!$this -> result = mysqli_query($this -> mysqli, $this -> query))
  6.        {
  7.            printf("ERROR: %s\n", $this -> mysqli -> error);
  8.        }
  9.        else
  10.        {
  11.            while($row = mysqli_fetch_assoc($this -> result))
  12.            {
  13.                $row[] = $row;                        
  14.            }    
  15.            return $row;
  16.        }
  17.    }
  18.  
  19. ....
  20.  
  21. $row1 = $db -> dbSelect("SELECT * FROM pracownicy");
  22.                echo'<pre>';
  23.                print_r($row1);
  24.                echo'</pre>';
  25. ?>

Nadal wynik nie został wyświetlony.


--------------------
eclipse :)
Go to the top of the page
+Quote Post
wookieb
post 15.04.2009, 13:33:47
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




1) Skoro nic się nie wyświetliło tzn, że funkcja nic nie zwraca
2) Kompletny bezsens... Ladujesz rekord w tablice ktora i tak znowu zostanie nadpisana rekordem (patrz while)
  1. <?php
  2. $row[] = $row;
  3. ?>


Jak juz to
  1. <?php
  2. $rows[]=$row;
  3.  
  4. // a potem
  5. return $rows;
  6. ?>


Ten post edytował wookieb 15.04.2009, 13:34:29


--------------------
Go to the top of the page
+Quote Post
matyskiewicz
post 15.04.2009, 13:35:40
Post #5





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

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


Bingo!
Dziękuję za pomoc i wyjaśnienie do niej.


--------------------
eclipse :)
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: 25.07.2025 - 07:57