Autor | Zpráva | ||
---|---|---|---|
blah Profil * |
Zdravíčko,
chtěl jsem se zeptat, jak řešíte připojování k DB pomocí mysqli. Nepřijde mi úplně košér pokaždé psát $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); Máte na to nějakou speciální třídu nebo to řešíte jinak? Díky za každou odpověď |
||
joe Profil |
#2 · Zasláno: 26. 4. 2009, 19:29:45
Aktuální spojení ulož do nějaké statické proměnné, pokud je proměnná prázdná, pak vytvoříš nové spojení.
To ověření si můžeš udělat v metodě na volání dotazu. Například si vytvoříš statickou třídu Sql, kde název metody bude query a můžeš to volat nějak takhle Sql::query("SELECT..."); |
||
blah Profil * |
#3 · Zasláno: 26. 4. 2009, 20:01:51
nejsem si jistej, jak to přesně myslíš. Mohl bys to, prosím, nějak rozvést?
|
||
AM_ Profil |
#4 · Zasláno: 26. 4. 2009, 20:20:08
konstruktor $mysqli voláš většinou jen jednou, tak jaképak "pokaždé psát", to by mě spíš zajímalo jak to řešíš ty že to tam píšeš tolikrát :)
Spousta lidí si na to dělá vlastní třídy, ale to je v 99% případů zesložiťování jednoduchého. Když už "vylepšenou" třídu, použij nějakou hotovou propracovanou (jako třeba dibi) |
||
joe Profil |
#5 · Zasláno: 26. 4. 2009, 20:57:36
Nějak takhle (by to mohlo fungovat), teď nevím jestli se správně trefím do PHP, už jsem v něm dlouho nepsal
class Sql { private static $connection = null; public static function getConnection() { if(self::$connection == null) { self::$connection = new mysqli(...); } return self:$connection; } public static function query($sql) { return mysqli_query($sql, self::getConnection()); } } |
||
blah Profil * |
#6 · Zasláno: 26. 4. 2009, 21:25:53
joe
Jo díky, něco podobnýho už jsem si tak nějak splácal... skoro stejně, jako to tvoje :) |
||
Časová prodleva: 9 let
|