Baza danych MySQL
- dlaczego mi nie działa?
gdybyś zaraz po wykonaniu zapytania do bazy danych zrobił echo mysql_error(); to byś wiedział czemu.
- jak zmienić format daty?
użyj funkcji sql DATE_FORMAT - opis w manualu mysql
- jak wybrać rekordy z ostatnich 30 dni
SELECT * FROM tabela WHERE TO_DAYS(now())-TO_DAYS(kolumna_daty))<30 AND kolumna_daty < now()
- jak porcjować wyniki na stronie
$od=(int)$_GET['od'];
if ($od>=0) {
SELECT SQL_CALC_FOUND_ROWS * FROM tabela LIMIT $od,10
$ile=SELECT FOUND_ROWS() as ILE // pokaże ilość rekordów, które by były wyciągnięte gdyby nie było LIMITu
echo '<a href="'.$_SERVER['PHP_SELF'].'?od='.($od>=10?$od-10:0).'">poprzedni</a>';
echo '<a href="'.$_SERVER['PHP_SELF'].'?od='.($od<$ile-10?$od+10:$ile-10).'">następny</a>';
}
- Zagadnienie kodowania znaków w bazie opisane jest na stronie o krzakach
- serwer wywala się błędem "zbyt duża liczba połączeń" ?
w /etc/my.cnf w sekcji [mysqld] określamy
set-variable=max_connections=NNN
gdzie NNN to odpowiednio duża liczba (defaultowo jest 100)
ale tak naprawdę, to należałoby spojrzeć, czy mysql_pconnect nie zastąpić mysql_connect-em.