Notice: query (INSERT INTO lemat_stats_browser (day,browser,ilosc,internal) VALUES ('2024-04-27','Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',1,'2')) failed at /home/lemat/lemat.priv.pl/stats.php:151: Array ( [0] => 22001 [1] => 1406 [2] => Data too long for column 'browser' at row 1 ) in /home/lemat/lemat.priv.pl/panel_adm/dbclass.inc.php on line 15

Warning: Cannot modify header information - headers already sent by (output started at /home/lemat/lemat.priv.pl/panel_adm/dbclass.inc.php:15) in /home/lemat/lemat.priv.pl/stats.php on line 174
Baza danych MySQL - Lemat, strona prywatna
Lemat, strona prywatna

Baza danych MySQL

gdybyś zaraz po wykonaniu zapytania do bazy danych zrobił echo mysql_error(); to byś wiedział czemu.

użyj funkcji sql DATE_FORMAT - opis w manualu mysql

SELECT * FROM tabela WHERE TO_DAYS(now())-TO_DAYS(kolumna_daty))<30 AND kolumna_daty < now()


$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>';
}



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.


Data utworzenia : 2003-11-07, data aktualizacji :2012-02-26

Skomentuj ten tekst

Komentarze:

alfanick
2007-02-15 17:46:51
Bezpieczeństwo ;)
Widzę ciekawe zainteresowanie bezpieczeństwem a tu w przykładzie register_globals
Odpowiedź Lemata:
register_globals samo w sobie nie jest niebezpieczne.
mojaksywka :)
2004-08-03 11:42:32
po co to po AND ?
sorki jesli to kompletnie lamerksie pytanie (pewnie tak jest) ale mySQL dopiero "rozgryzam" po co w ponizszym Twoim przykladzie jest AND kolumna_daty < now() ??? SELECT * FROM tabela WHERE TO_DAYS(now())-TO_DAYS(kolumna_daty))
Odpowiedź Lemata:
moje zapytanie wybiera daty z przedziału now()-30,now() to po AND ogranicza z góry przedział aby nie wybierać daty z PRZYSZŁOŚCI
anAKiN
2003-11-21 00:04:55
Bezpieczenstwo
W kodzie do porcjowania wynikow nie zwrociles uwagi na to, co pisales w dziale 'Bezpieczenstwo'. Lepiej dac (int)$od.
Odpowiedź Lemata:
Thx, już poprawiam.
Protected by spf
[Nospam-PL.NET]
Seti@Home
www.php.net
© Lemat 2004 - ∞