W bazie mam tabelę sprzęt w której znajdują się pola jak w zapytaniu poniżej.
Jest tam pole data_ost, typ pola date, a więc mamy zapisaną datę w formacie YYYY-MM-DD.
Chciałbym wyciągnąć tylko sam rok, co zrobiłem robiąć zapis:
YEAR(data_ost) as ost_rok
Całość wygląda jak poniżej.
<?php $query="Select id, nazwa, producent, typ, nr_ser, nr_inw, pracownia, miasto, osoba, metoda, kontrola, czas_wal, data_ost, YEAR(data_ost) as ost_rok, data_nast, data_rzecz, sp_mier, status_dzis, blokada, zniszcz, zniszcz_dat, zniszcz_osoba From sprzet Where osoba='".$osoba."' AND zniszcz='Nie' AND status_dzis='0' AND blokada='Tak' "; for($x=0;$x<$obAmount;$x++) { echo '<tr> <td align="center">'.($x+1).'</td> <td>'.$row['nazwa'].'</td> <td align="center">'.$row['nr_ser'].'</td> <td align="center">'.$row['data_ost'].'</td> <td align="center">'.$row['data_nast'].'</td> <td align="center">'.$row['data_rzecz'].'</td> <td align="center">'.$row['metoda'].'</font></td> <td align="center">'.$row['kontrola'].'</font></td> <td align="center">'.$row['ost_rok'].'</td></tr>'; }
Taka konstrukacja działa prawidłowo.
Problem pojawia się w sytuacji, gdy do WHERE chcę dodać dodatkowy warunek dotyczący konkretnego roku
<?php $query="Select id, nazwa, producent, typ, nr_ser, nr_inw, pracownia, miasto, osoba, metoda, kontrola, czas_wal, data_ost, YEAR(data_ost) as ost_rok, data_nast, data_rzecz, sp_mier, status_dzis, blokada, zniszcz, zniszcz_dat, zniszcz_osoba From sprzet Where osoba='".$osoba."' AND zniszcz='Nie' AND status_dzis='0' AND blokada='Tak' AND ost_rok='2015'"; ?>
Przy takiej konstrukcji otrzymuję komunikat:
mysql_num_rows()expects parametr 1 to be resource, boolean given in ... on line 115
czyli w lini
$obAmount=mysql_num_rows($result);
Jak to zrobić, by to działało, przy zastosowaniu warunku dotyczącego konkretnego roku?