Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z mysql_field_name
Forum PHP.pl > Forum > PHP
Gibcio2008
Witam !

Mam problem z klasą a głównie to chodzi o piątą funkcję
  1. <?php
  2. class db {
  3.  
  4. var $dbhost = "localhost";
  5. var $dbuser = "root";
  6. var $dbpassword = "";
  7. var $dbname = "";
  8.  
  9. var $connect;
  10. var $result;
  11.  
  12. function connection() {
  13. $this->connect = mysql_connect($this->dbhost, $this->dbuser, $this->dbpassword);
  14. mysql_select_db($this->dbname);
  15. }
  16.  
  17. function query($query) {
  18. $this->result = mysql_query($query);
  19. return $this->result;
  20. }
  21.  
  22. function rows() {
  23. $row = mysql_num_rows($this->result);
  24. return $row;
  25. }
  26.  
  27. function result() {
  28. while($res = mysql_fetch_array($this->result, MYSQL_ASSOC)) {
  29. $result[] = $res;
  30. }
  31. return $result;
  32. }
  33.  
  34. function fields() {
  35. $field = mysql_field_name($this->result);
  36. }
  37.  
  38. function close() {
  39. mysql_close($this->connect);
  40. }
  41. }
  42. ?>

Jak ją wywołuję na stronie to dostaję to dostaję warning:

A robię to tak:
  1. <?php
  2. $db = new db();
  3.  
  4. $db->dbhost = "host";
  5. $db->dbuser = "user";
  6. $db->dbpassword = "password";
  7. $db->dbname = "name";
  8. $db->dbprefix = "prefix";
  9.  
  10. $db->connection();
  11.  
  12. połączenie z serwerem mam, baze wybrałem
  13.  
  14. $db->fields();
  15.  
  16. ?>

i wyskakuje mi ten komunikat: Wrong parameter count for mysql_field_name() in .... on line 35.

Z góry dzięki za pomoc !
blooregard
Manual, manual i jeszcze raz manual:


Cytat
mysql_field_name

(PHP 4, PHP 5)

mysql_field_name — Podaje nazwę danego pola w wyniku
Report a bug
reject note Opis
string mysql_field_name ( resource $wynik , int $indeks_pola )

mysql_field_name() zwraca nazwę danego pola. wynik musi być poprawnym identyfikatorem wyniku, a indeks_pola powinien zawierać liczbowy indeks pola.

Informacja:

indeks_pola liczy się od 0.

Indeksem trzeciego pola będzie liczba 2, czwartego 3 i tak dalej...

(...)


http://pl2.php.net/mysql_field_name

Ta f-cja przyjmuje DWA parametry, a u Ciebie jest jeden, co zresztą masz napisane w komunikacie błędu:

Cytat
Wrong parameter count ...


Tak ciężko odpalić słownik on-line i sprawdzić, że wrong = źle, parameter = parametr i count = licznik i skleić to w logiczną kupę?

Ludzie, myślcie. Głowę macie nie tylko od noszenia czapki.
Gibcio2008
a skąd ja wiem jaki ma być indeks pola, np. jest mi znana ilość pól ?
blooregard
Cytat(Gibcio2008 @ 19.10.2011, 17:35:26 ) *
a skąd ja wiem jaki ma być indeks pola, np. jest mi znana ilość pól ?


Jeśli widzisz, jak wygląda SELECT, to widzisz też, z ilu kolumn wybierasz dane.
A jeśli SELECT leci po całości, to w każdym wierszu zwróconych wyników masz tablicę je zawierającą. Liczysz elementy tej tablicy i otrzymujesz ilość pól.

Drugi parametr dla mysql_field_name zawiera się wtedy w przedziale od 0 do ilość pól-1

Teraz już wiesz, skąd?


Gibcio2008
tak wiem już doszedłem do tego. THX
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.