Rafał B
25.04.2005, 22:33:53
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?
Zbłąkany
7.05.2005, 22:09:05
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 :-)
Rafał B
8.05.2005, 19:28:46
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ł
Zbłąkany
8.05.2005, 21:53:52
A nie lepiej:
SELECT COUNT(*)
FROM TABLE WHERE klauzule
I wtedy przez odbc_result wyciągać dane??