Hallo iedereen,
Dit is een simpele database classe met uitleg etc. Ik heb hier wel ff rechtstreeks het txt bestandje (database.class.txt) heen gecopiert (met de uitleg in) en in het code vak staat database.class.php. Het moet online komen (downloadbaar), maar mijn site is momenteel onder constructie (mizone.be), en is dus enkel op mijn webserver (thuis):
---------------------------------------------------
Benodigdheden:
- Een webserver met PHP en MySQL ondersteuning.
- Minimum 1 MySQL database. (Heeft u er geen?
http://www.freesql.org/)
- Een gebruikersnaam op de MySQL server.
---------------------------------------------------
---------------------------------------------------
Inhoud classe:
- Database connectie maken.
- Database connectie (opnieuw) maken; m.a.w. meerdere hosts mogelijk
- Andere database selecteren
- Query's uitvoeren
- mysql_fetch_object, mysql_fetch_array en mysql_fetch_assoc uitvoeren
- mysql_num_rows uitvoeren
- Custom error's
- Custom error's in/uit schakelen
- Tellen van: mysql_query; mysql_fetch_object; mysql_fetch_array; mysql_fetch_assoc
- Table prefix gebruiken
- Table prefix aanpassen/verwijderen
- Table prefix aan te roepen met [prefix] in de mysql table
- Tijd in microseconde weergeven van query's die uitgevoerd werden
- Resultaten van tellingen weergeven, elk moment
- MySQL verbinding beïndigen
- ...
---------------------------------------------------
---------------------------------------------------
Uitleg (functie per functie):
----------------------------------
database
--------
Dit is een constructor. Deze wordt uitgevoerd bij het openen van de classe. De functie database maakt ook connectie met de database
reconnect $db->reconnect($host, $user, $passwd);
---------
Opnieuw connecteren, of connecteren naar een andere host
reselect_db $db->reselect_db($database);
-----------
Een andere database selecteren.
set_prefix $db->set_prefix($prefix);
----------
De prefix van de table's (opnieuw) defineren. Aan te roepen met [prefix] in de query ($db->query($query))
unset_prefix $db->unset_prefix();
------------
Dit maakt van de prefix '' (maakt hem dus leeg). Hetzelfde effect als $db->set_prefix("");
set_customError $db->set_customError();
---------------
Zet custom error's aan.
unset_customError $db->unset_customError();
-----------------
Schakelt custom error's terug uit
set_customErrorMSG $db->set_customErrorMSG($msg);
------------------
Stel een custom error bericht in.
query $db->query($query);
-----
Dit voert een Query in mysql_query($query); uit. [prefix] zal (automatisch) vervangen worden door de door u ingestelde prefix.
Overigens wordt de tijd berekent + geteld hoeveel query's er uitgevoerd worden.
num_rows $db->num_rows($query);
--------
mysql_num_rows + telling
fetch_object $db->fetch_object($query);
------------
mysql_fetch_object + telling
fetch_array $db->fetch_array($query);
-----------
mysql_fetch_array + telling
fetch_assoc $db->fetch_assoc($query);
-----------
mysql_fetch_assoc + telling
results $db->results($parameter);
-------
Geeft resultaten van tellingen weer. Mogelijke parameters + beschrijving:
querys Het aantal query's die uitgevoerd zijn
fetchs Het aantal fetch_* die uitgevoerd zijn
numrows Het aantal num_rows die uitgevoerd zijn
time Het aantal microseconden dat het geduurt heeft voor de query's berekent zijn
sqltime De volledige tijd van alle: query's; fetchs; numrows
close $db->close();
-----
mysql_close();
reset_counters $db->reset_counters();
-----------------
Reset alle tellertjes (tijd + query's + ...)
---------------------------------------------------
Ok, ik weet dat ik IETS vergeten ben, maar weet niet wat. Ik edit het script wel, bedankt voor uw begrip!
Greetz,
Wim Mariën
EDIT:
- Script inorde gemaakt. Dus geen verbinding en connection door elkaar