Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Mysql fetch_array obiektowo "on a non-object"
Forum PHP.pl > Forum > Przedszkole
xxdrago
Witam, mam taki skrypt i już chwile się nad nim główkuje i nie wiem co jest źle wyświetlałem zmienia $sql i zapytanie było ok.
Proszę o podpowiedz
  1. $db->connect(); // tak sie laczymy do bazy
  2.  
  3. $sql = "SELECT * FROM `panel_domeny`";
  4. $wynik = $db->query($sql)
  5. or die('BŁĄD:'.$db->error());
  6.  
  7.  
  8. while ($r = $wynik->fetch_array()) {
  9. $tpl->set_var('domena', $r['id']);
  10. $tpl->parse("Wiersze", true);
  11. }
  12. $db->close(); // tak sie rozlaczamy z bazy


Kod
Fatal error: Call to a member function fetch_array() on a non-object in /var/www/panel/pok_domain.php on line 39
piotrooo89
odwołujesz się do fetch_array który nie jest obiektem, co to jest fetch_array?
xxdrago
No to wiem, tylko dalej nie czaje o co chodzi

A o co chodzi ci z tym "co to jest fetch_array?"

Zawsze robie tak samo i nigdy nie miałem problemu takiego smile.gif
piotrooo89
co to jest za obiekt w zmiennej $db?

//EDIT
w ogóle z czego Ty korzystasz przy łączeniu do bazy?
xxdrago
Mam jakąś klase co mi znajomy dał


  1. <?php
  2.  
  3. /*
  4.  * Session Management for PHP3
  5.  *
  6.  * Copyright (c) 1998-2000 NetUSE AG
  7.  * Boris Erdmann, Kristian Koehntopp
  8.  *
  9.  * $Id: db_mysql.inc,v 1.2 2000/07/12 18:22:34 kk Exp $
  10.  *
  11.  */
  12.  
  13. define("DATABASE_HOST","localhost");
  14. define("DATABASE_NAME","panel");
  15. define("DATABASE_USER","panel");
  16. define("DATABASE_PASSWORD","123454567890-=0987654321345678909876543");
  17.  
  18. class DB_Sql {
  19.  
  20. /* public: connection parameters */
  21. var $Host = DATABASE_HOST;
  22. var $Database = DATABASE_NAME;
  23. var $User = DATABASE_USER;
  24. var $Password = DATABASE_PASSWORD;
  25.  
  26. /* public: configuration parameters */
  27. var $Auto_Free = 1; ## Set to 1 for automatic mysql_free_result()
  28. var $Debug = 0; ## Set to 1 for debugging messages.
  29. var $Halt_On_Error = "no"; ## "yes" (halt with message), "no" (ignore errors quietly), "report" (ignore errror, but spit a warning)
  30. var $Seq_Table = "db_sequence";
  31.  
  32. /* public: result array and current row number */
  33. var $Record = array();
  34. var $Row;
  35.  
  36. /* public: current error number and error text */
  37. var $Errno = 0;
  38. var $Error = "";
  39.  
  40. /* public: this is an api revision, not a CVS revision. */
  41. var $type = "mysql";
  42. var $revision = "1.2";
  43.  
  44. /* private: link and query handles */
  45. var $Link_ID = 0;
  46. var $Query_ID = 0;
  47.  
  48. function close() {
  49. if ( $this->link_id())
  50. {
  51. mysql_close( $this->Link_ID);
  52. $this->Link_ID = 0;
  53. }
  54. }
  55.  
  56. /* public: constructor */
  57. function DB_Sql($query = "") {
  58. $this->query($query);
  59. }
  60.  
  61. /* public: some trivial reporting */
  62. function link_id() {
  63. return $this->Link_ID;
  64. }
  65.  
  66. function query_id() {
  67. return $this->Query_ID;
  68. }
  69.  
  70.  
  71. /* public: connection management */
  72. function connect($Database = DATABASE_NAME, $Host = DATABASE_HOST, $User = DATABASE_USER, $Password = DATABASE_PASSWORD) {
  73. /* Handle defaults */
  74. if ("" == $Database)
  75. $Database = $this->Database;
  76. if ("" == $Host)
  77. $Host = $this->Host;
  78. if ("" == $User)
  79. $User = $this->User;
  80. if ("" == $Password)
  81. $Password = $this->Password;
  82.  
  83. /* establish connection, select database */
  84. if ( 0 == $this->Link_ID ) {
  85. $this->Link_ID=mysql_connect($Host, $User, $Password);
  86. # mysql_query('SET NAMES latin2');
  87. if (!$this->Link_ID) {
  88. $this->halt("connect($Host, $User, \$Password) failed.");
  89. return 0;
  90. }
  91. mysql_query("USE " . $Database );
  92. mysql_query('SET NAMES latin2');
  93. .
  94.  
  95. Ciach
  96. ...
  97. ?>
piotrooo89
Kod
* Session Management for PHP3


o jaaaa ale archaik...

pokaż metodę fetch_array().
xxdrago
Trzymaj całość:
http://wklejto.pl/113365
http://www.wklejto.pl/113366

Kurde nie ma tu tego ... co robić ?biggrin.gif
piotrooo89
kurde jaka masakra z tym kodem. nie ma w ogóle tu metody fetch_array() więc nie wiem jak to może działać.

//EDIT

możesz zrobić np tak:

  1. while ($r = mysql_fetch_array($wynik))


PS. ale z tym kodem to nie gwarantuje, że zadziała.
xxdrago
To zrobię to bez klasy.

PS:
Działa!
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.