Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Liczba rekordów w ODBC
Rafał B
post 25.04.2005, 22:33:53
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 1.12.2004

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


Baza MSSQL "odczytywana" poprzez ODBC w php.
Jest taka funkcja odbc_num_rows() ale przy komendzie
SELECT zwraca wartość -1. Natomiast funkcja odbc_result_all() zwraca co prawda ilość rekordów, ale każde jej użycie wypisuje mi na ekran zawartość wskazanej kolumny
Jak sprawdzić liczbę rekordów w danej tabeli?
Go to the top of the page
+Quote Post
Zbłąkany
post 7.05.2005, 22:09:05
Post #2


Administrator serwera


Grupa: Developerzy
Postów: 521
Pomógł: 13
Dołączył: 2.04.2004
Skąd: 52°24' N 16°56' E

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


Zerknij tutaj: http://www.php.net/manual/pl/function.odbc-num-rows.php i przeczytaj opis do funkcji: jest wyraźnie napisane, że jeśli zwraca -1 to jest błąd związany z INSERT, UPDATE albo DELETE :-)
PS. zerknij w komentarze, są lepsze sposoby odczytania liczby rekordów niż ta funkcja :-)

Ten post edytował Zbłąkany 7.05.2005, 22:10:20


--------------------
Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox
Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..."
Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL"
Go to the top of the page
+Quote Post
Rafał B
post 8.05.2005, 19:28:46
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 1.12.2004

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


Witam

Ja to niestety czytałem zanim zadałem pytanie i chyba nie masz racji.

Podaje cytat z manuala:

"Using odbc_num_rows() to determine the number of rows available after a SELECT will return -1 with many drivers."

Z tego wynika, że po komendzie SELECT funkcja zwraca wartość -1 i dokładnie tak jest (sprawdzałem). A mi jest potrzebny właśnie odczyt.
Też myślę, że są lepsze metody do odczytania liczby rekordów, tylko jakie używając funkcji ODBC?
Szczerze mówiąc to jest mi to już nie potrzebne bo udało mi się połączyć przez funkcje mssql_connect().
Wydaje mi się, że powinno zadziałać:

<?php
while (odbc_result($connection))
{
.....
}
?>

pozdrawiam
Rafał

Ten post edytował Rafał B 8.05.2005, 19:56:31
Go to the top of the page
+Quote Post
Zbłąkany
post 8.05.2005, 21:53:52
Post #4


Administrator serwera


Grupa: Developerzy
Postów: 521
Pomógł: 13
Dołączył: 2.04.2004
Skąd: 52°24' N 16°56' E

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


A nie lepiej:
  1. SELECT COUNT(*)
  2. FROM TABLE WHERE klauzule

I wtedy przez odbc_result wyciągać dane??


--------------------
Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox
Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..."
Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL"
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 Wersja Lo-Fi Aktualny czas: 28.05.2024 - 22:36