Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Pobieranie danych z MySQL
Forum PHP.pl > Forum > Przedszkole
bartisz
witam
zapoznaję się z programowaniem obiektowym. Mam zamiar napisać prosty system newsów.
napisałem taką klasę:

  1. <?php
  2. class baza
  3. {
  4. public $host='localhost';
  5. public $username='root';
  6. public $password='';
  7. public $baza='snews';
  8. public $handle;
  9. public $z;
  10.  
  11. public function podlacz(){
  12. if($this->handle=mysql_connect($this->host, $this->username, $this->password)){
  13. mysql_select_db($this->baza);
  14. return true;
  15. }
  16. else die('Blad bazy: '.mysql_error());
  17. }
  18.  
  19. public function odlacz(){
  20. if(mysql_close($this->handle)) return true;
  21. else die('Blad bazy: '.mysql_error());
  22. }
  23.  
  24. public function wykonaj($string){
  25. return mysql_fetch_assoc(mysql_query($string));
  26. }
  27. ?>


i plik, który ma wyświetlać wpis:
  1. <?php
  2. include('klasy/klasy.php');
  3. $baza=new baza;
  4. $baza->podlacz();
  5. echo "<hr>";
  6. while ($wpis=$baza->wykonaj('SELECT * FROM `newsy` ORDER BY `id` DESC')){
  7. echo "<h1>".$wpis['tytul']."</h1>";
  8. echo $wpis['tresc']."<br><br>";
  9. echo "Autor: ".$wpis['autor']."<br>";
  10. echo "<sup>Tagi: ".$wpis['tagi']."</sup><hr>";
  11. }
  12. $baza->odlacz();
  13. ?>


Po uruchomieniu serwer się zawiesza po kilkunastu sekundach.

Problem leży tutaj:
  1. public function wykonaj($string){
  2. return mysql_fetch_assoc(mysql_query($string));
  3. }

Próbowałem funkcję mysql_query i mysql_fetch_assoc rozdzielić - wtedy to działa, ale dla mnie nie jest satysfakcjonujące, ponieważ potem jest więcej pisania w głównym kodzie, a na pewno z tej klasy będę korzystał przy następnych skryptach.

Proszę o pomoc
pozdrawiam
Luneth
Te funkcje powinny być rozdzielone. Ewentualnie przesiądź się np na PDO: $pdo->query('tresc zapytania')->fetchAll(); winksmiley.jpg
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.