Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Jak tu połączyć się z bazą?
lamcpp
post
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


witam, wgłębiam się w programowanie obiektowe (ksiązka zaawansowane programowanie w PHP),
mam problem bo przykłady są podane dla bazy innej niż MySQL, chciałem przerobić skrypt tak by było dla MySQL, ale wyskakuje błąd:
Cytat
Fatal error: Uncaught exception 'Exception' with message 'Nie moşna po�aczy� si� z baz� danych' in D:\usr\test\index.php:19 Stack trace: #0 D:\usr\test\index.php(70): Widget->__construct(1) #1 {main} thrown in D:\usr\test\index.php on line 19

Czyli nie można połączyć się z bazą, polecenie, które najpewniej jest źle to:
Kod
   $this->hDB = mysqli_connect('localhost','root','','parts');

Czy ktoś mógłby pomóc jak to przerobić by działało w obiektówce?

Cały kod poniżej:
  1. <?php
  2. class Widget{
  3. private $id;
  4. private $name;
  5. private $description;
  6. private $hDB;
  7. private $needsUpdating = false;
  8.  
  9. public function __construct($widgetID){
  10. $this->hDB = mysqli_connect('localhost','root','','parts');
  11. if(!is_resource($this->hDB)){
  12. throw new Exception('Nie można połaczyć się z bazą danych');
  13. }
  14. $sql = "SELECT nazwa,opis FROM artykul WHERE nr_artykulu=$widgetID";
  15. $rs = mysqli_query($this->hDB, $sql);
  16. if(!is_resource($rs)){
  17. throw new Exception('Błąd przy wykonywaniu instrukcji wyboru.');
  18. }
  19. if(! mysqli_num_rows($rs)){
  20. throw new Exception('Szukanego artykułu nie ma w bazie danych');
  21. }
  22. $data = mysqli_fetch_array($rs);
  23. $this->id = $widgetID;
  24. $this->name = $data['nazwa'];
  25. $this->description = $data['opis'];
  26. }
  27.  
  28. public function getName(){
  29. return $this->name;
  30. }
  31.  
  32. public function getDescription(){
  33. return $this->description;
  34. }
  35.  
  36. public function setName($name){
  37. $this->name;
  38. $this->needsUpdating = true;
  39. }
  40.  
  41. public function setDescription($description){
  42. $this->description = $description;
  43. $this->needsUpdating = true;
  44. }
  45.  
  46. public function __destruct(){
  47. if(! $this->needsUpdating){
  48. return;
  49. }
  50.  
  51. $sql = 'UPDATE artykul SET';
  52. $sql .= "nazwa='".mysqli_real_escape_string($this->name)."',";
  53. $sql .= "opis='".mysqli_real_escape_string($this->description)."'";
  54. $sql .= "WHERE nr_artykulu=".$this->id;
  55. $rs = mysqli_query($this->hDB,$sql);
  56. if(! is_resource(rs)){
  57. throw new Exceptiopn('Wystąpił błąd podczas aktualizacji danych');
  58. }
  59. mysqli_close($this->hDB);
  60. }
  61. }
  62.  
  63. $obiekt = new Widget(1);
  64.  
  65.  
  66. ?>


Ten post edytował lamcpp 8.02.2010, 23:19:09
Go to the top of the page
+Quote Post

Posty w temacie


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: 21.08.2025 - 16:54