Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Mysql - problem z include
tabbi
post
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 3
Dołączył: 30.10.2010

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


Witam,

Mam pytanie w jaki sposób, wykonywać zapytania sql na stronie. Chce stworzyć klase mysql do łączenia się z bazą danych. odpowiednio include_once. Używam PDO, i jakby dało rady naszkicować jakiś szkielet. Teraz mam tak:

  1. class Mysql{
  2.  
  3. var $dbh;
  4. function __construct(){
  5.  
  6.  
  7. $Parm['DBHost'] = 'localhost';
  8. $Parm['DBLogin'] = 'szpital';
  9. $Parm['DBPass'] = 'asdasd';
  10. $Parm['DBName'] = 'prorapid';
  11. $Parm['DBType'] = 'mysql';
  12. try
  13. {
  14. $this->dbh = new PDO($Parm['DBType'].':dbname='.$Parm['DBName'].';host='.$Parm['DBHost'], $Parm['DBLogin'], $Parm['DBPass']);
  15. $this->dbh-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  16. }
  17. //Wyświetlanie błędów wrazie niepowodzenia uruchamiania rozszerzenia
  18. catch(PDOException $e)
  19. {
  20. echo $e->getMessage();
  21. }
  22.  
  23. }
  24. }


i na stronie np. index.php

  1. include_once("include/class_mysql.php");
  2. $db= new Mysql();
  3.  
  4. $sql="
  5. SELECT
  6. *
  7. FROM
  8. demo_charge_types
  9. ORDER BY price ASC LIMIT 4
  10.  
  11. ";
  12.  
  13. foreach ($db=$this->dbh->query($sql) as $row){
  14. echo'<tr><td>'.$row['bandwidth'].'GB</td><td><strong>'.$row['price'].' zł</strong></td><td><a href="kup">kup teraz!</a></td></tr>';
  15. }


Tak to nie działa, informuje że this nie jest z obiektu. Jakiś pomysł ?
Go to the top of the page
+Quote Post
vermis
post
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


  1. foreach ($db->dbh->query($sql) as $row){...


Nie możesz używać $this poza klasą.


--------------------
Go to the top of the page
+Quote Post
tabbi
post
Post #3





Grupa: Zarejestrowani
Postów: 150
Pomógł: 3
Dołączył: 30.10.2010

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


Dzieki tongue.gif
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #4





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Skoro używasz PDO to masz PHP 5, a co za tym idzie stosuj składnię PHP 5 - var $... to pozostałość po 4, zostawiona ze względu na kompatybilność, stosuj zamiast tego modyfikatory dostępu - private, public, protected.
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 Aktualny czas: 20.08.2025 - 13:39