Autor Zpráva
radeson
Profil *
S PHP a MySql jsem začátečník tak se prosím nesmějte kdybych napsal nějaký nesmysl. Jde o to že mám soubor (otevridb.inc) a v něm mám nastavené připojení k databázi. Připojuji se takhle :

<?php
require_once('otevridb.inc');
do
{
// Pøipojení k databázi.
if (!OtevriDB()) break;

@$výsledek = mysql_query("# nějaké příkazy");

while($záznam = mysql_fetch_array($výsledek))
{

# nějaké příkazy

}
mysql_close();
} while (false);
?>

a nevím jestli můžu vložit do stránky toto připojení vícekrát (např. bych chtěl dát další skripty do jiné části stránky)
nebo se přípojení může definovat pouze jednou. Občas mi to totiž napíše:

Warning: mysql_connect(): Too many connections in cesta.url/otevridb.inc

tzn. mnoho přípojení ke konfiguračnímu souboru...

mám tedy přípojení k databázi nadefinovat pouze jednou?
zolo
Profil *
tak namiesto require_once daj require
Joker
Profil
Pokud vždycky před otevřením nového spojení uděláte to mysql_close(), mělo by to být OK.
Ale jestli se připojujete pořád na tutéž databázi, bylo by lepší si to spojení na začátku otevřít a zavřít až na konci (případně se nemusí zavírat vůbec a ukončí se automaticky na konci skriptu).

Poznámka mimo:
do
{
...
} while (false);

Proč tam je tahle konstrukce? Podle mě tam nemá žádný smysl.
Obecně bych řekl, že větvení nebo cyklus (if, while, for ap.) kde podmínkou je hodnota true nebo false je vždycky špatně. Možná ještě while(true) by šlo v nějakém hodně zvláštním případě, ale jinak je to IMHO nesmysl.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0