Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]PDO funkcja nie pokazuje się
Forum PHP.pl > Forum > Przedszkole
Wertas
  1. class AuctionHouse
  2. {
  3. var $maxLength,
  4. $connection;
  5. private $db_host;
  6. private $db_user;
  7. private $db_password;
  8. private $db_name;
  9. private $lim;
  10. private $template;
  11.  
  12.  
  13. /**
  14. * Constructor, executed when we make a new object.
  15. *
  16. * @return Object
  17. */
  18. function _construct() {}
  19.  
  20. function AuctionHouse()
  21. {
  22.  
  23. $this->db_host='localhost';
  24. $this->db_user='root';
  25. $this->db_password='';
  26. $this->db_name='d3';
  27. $this->lim='20';
  28. $this->template = 'templates/DisplayTemplate.php';
  29. $this->trclass= '';
  30. }
  31. function editItem($id)
  32. {
  33. $id = $_GET['id'];
  34. if(is_numeric($id))
  35. {
  36. $this->connect();
  37.  
  38. $result = mysql_query("SELECT * FROM items WHERE id='$id'");
  39. while($row = mysql_fetch_array($result))
  40. {
  41. $datadump = '';
  42.  
  43. foreach($health as $klucz => $nazwa)
  44. {
  45. if(isset($row[$klucz]) && $row[$klucz] != 0)
  46. {
  47. $datadump .= '<tr class="'.$trclass.'"><td>' . $nazwa . '</td><td><input type="text" name="'.$klucz.'" value="' . $row[$klucz] . '"/></td></tr>';
  48. }
  49. }
  50. }
  51. echo $datadump;
  52.  
  53. require($this->template); // Show item with our template.
  54.  
  55. $this->close();
  56. return true;
  57. }
  58. else return false; // Not valid number
  59.  
  60. }


Pobieram jako

  1. require('../AuctionHouse.php');
  2. $ah = new AuctionHouse();
  3. $ah->editItem(4);
  4.  



Błąd to Fatal error: Call to a member function editItem() on a non-object in C:\xampp\htdocs\tip\tooltip\cms\admin\editItemForm.php on line 47


Gdzie jest błąd?
!*!
  1. function editItem($id)
  2. {
  3. $id = $_GET['id'];


Przekazujesz w metodzie 4, a później nadpisujesz to $_GET? I w zasadzie to gdzie jest tu PDO?
Wertas
I tak nie działa nadal.
!*!
Nie odpowiedziałeś gdzie masz PDO tu.

  1. $result = mysql_query("SELECT * FROM items WHERE id=$id");


Co przekazujesz w $id? i czym tu jest linia 47?
Dominator
Z czystej ciekawości - od kiedy mysql_ to PDO ?
memory
Cytat(Dominator @ 17.07.2012, 19:25:46 ) *
Z czystej ciekawości - od kiedy mysql_ to PDO ?


Od zawsze nie wiedziałeś ?


Wertas spróbuj znaleźć w wyszukiwarce parę przykładów użycia pdo smile.gif
Dominator
Cytat(memory @ 17.07.2012, 19:29:54 ) *
Od zawsze nie wiedziałeś ?


Wertas spróbuj znaleźć w wyszukiwarce parę przykładów użycia pdo smile.gif


Chodzi mi o to, że w tym kodzie nie ma PDO.
Wertas
Pobiera z bazy danych pola -> robi pola input potem będę je mógł edytować.

A id to z ?id=5 np. edytowanie przedmiotów.
!*!
Cytat(Wertas @ 17.07.2012, 20:17:05 ) *
Pobiera z bazy danych pola -> robi pola input potem będę je mógł edytować.

A id to z ?id=5 np. edytowanie przedmiotów.


Tylko że to nie jest PDO, a stare mysql_*

Jeśli pobierasz id na podstawie GET, to po co Ci wartość w metodzie? Sprawdź błędy w zapytaniu przez OR die();
http://pl.wikibooks.org/wiki/PHP/Jak_to_się_robiło_kiedyś%3F

Poducz się też trochę i użyj PDO
http://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO
Wertas
Fakt PDO jest ciekawsze ale..

nie rozumiem znaczenia try { kod } czy to należy wpisać w plik np. ah.class.php czy bezpośrednio w miejscu kodu. Również czy to zwraca odrazu kod czy za pobraniem jakoś?

Dziękuję.
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.