PHP – 36. díl – SQL příkazy a ošetření chyb

Diskuze čtenářů k článku

Zaciatocnik  |  22. 10. 2004 10:29

Potrebujem rozchodit apache ,ktorý sa spustí ale nedá sa do príkazového riadku nic napisať. Chyba je v konfigurácií ale v tom sa nevyznám. Skusal som aj iné instalačné balíky ktoré sa akoze nainstalujú sami ale tiež nič. Mám WinXP so SP1 bez sluzby ISS a hardisk sformatovaný na systém fat32. Este k tej konfigurácií php.ini riadky ktoré majú fungovať majú byť bez znaku # ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zaciatocnik  |  23. 10. 2004 12:07

Uz som si to opravil, uz mi to konecne bezi

Souhlasím  |  Nesouhlasím  |  Odpovědět
Ladin  |  21. 10. 2004 11:54

No ja teda nevim, ale pokud dam die uprostred skriptu tak kdo za me bude zavirat spojeni na databazi?? Jak tohle vubec muzete nazvat osetrenim?

Souhlasím  |  Nesouhlasím  |  Odpovědět
Ladin  |  21. 10. 2004 11:59

Tedy napred dbclose, potom die.
Achjo

Souhlasím  |  Nesouhlasím  |  Odpovědět
Petr  |  21. 10. 2004 12:08

viz treba manual PHP:

Použití mysql_close() není obvykle nutné, protože nepersistentní (netrvalá) otevřená spojení jsou zavřena automaticky po zpracování scriptu.
Poznámka: mysql_close() neuzavře persistentní spojení otevřené pomocí mysql_pconnect().

Ale ja mam spis nazor ten, ze kdyz nastane nejaka takova chyba tak by mela neco udelat. Napriklad napsat klientovi ze je problem na serveru a at to zkusi pozdeji nebo neco takoveho. A treba tam dat i nejaky refresh at se muze zkusit spojeni navazat za chvili znova, treba uz bude databaze ok.
Stranka, jejiz vystupem je pri chybe NIC je podle me spatna.

Souhlasím  |  Nesouhlasím  |  Odpovědět
happy, happy  |  21. 10. 2004 16:52

Poslední věta je perla (jinak bych se vsim z manuálu souhlasil)

Dávat na klienta refresh je hovadina, protože pak se vám tu databázi nepovede nahodit (
všichni jak trubky mačkají refresh a diví se, že to nejede), pokud na stránku naopak vypíšete stacktrace, nebo cokoliv, koledujete si o to, že se výpisu chyby bude někdo snažit využít.

Souhlasím  |  Nesouhlasím  |  Odpovědět
plech  |  21. 10. 2004 17:25

"Dávat na klienta refresh je hovadina, protože pak se vám tu databázi nepovede nahodit "
muzes mi to nejak blize vysvetlit?

Souhlasím  |  Nesouhlasím  |  Odpovědět
happy, happy  |  21. 10. 2004 17:50

jednoduše, klienti vygenerují takovou abnormální zátěž, že si databáze po náběhu zase klekne...

Souhlasím  |  Nesouhlasím  |  Odpovědět
Martin  |  21. 10. 2004 08:30

misto:
$id_spojeni = mysql_connect('localhost','root','');
if (!$id_spojeni)
die('Spojení s MySQL databází se nezdařilo.');
pouzit:
$id_spojeni = mysql_connect('localhost','root','')
or die('Spojení s MySQL databází se nezdařilo.');

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jaromir  |  21. 10. 2004 16:22

já to dělám takhle:
$mysql_spojeni = @MySQL_Connect($host, $user, $passwd);
@MySQL_Select_DB($db_name);
If ($mysql_spojeni) // Musi dojit k pripojeni k databazi
  echo 'Connection to the MySQL database opened ... <B>OK</B><BR>';
else
  Die ("<FONT SIZE=6><B>ERROR: can't connect to the MySQL database! Please contact admin of this site!</B></FONT>");

aspoň je to víc ukecané a surfer něco vidí

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor