"Smart" mysql

Door , 20 jaar geleden, 4.888x bekeken

Dit script voert een mysql query uit, haalt alle records op en geeft een array met de records terug.

Om de verbinding met de server op te starten hoef je niets te doen, dit gebeurt automatisch.
Om een query uit te voeren met de standaarddatabase gebruik je $mysql->mysql( "select * from test"); om zelf een database op te geven doe je $mysql->mysql("select * from test" , 'mijndatabase' );
Aan het einde van je script wordt de verbinding vanzelf verbroken.
Hoe ziet het resultaat eruit? $db = $mysql->mysql(..) retourneert een array die er bijvoorbeeld zo uitziet:
$db[ 1 ][ 'veldnummer1' ]
$db[ 1 ][ 'veldnummer2' ]
$db[ 2 ][ 'veldnummer1' ]
$db[ 2 ][ 'veldnummer2' ]

$db[ 0 ] bevat wat informatie over de query, zoals de uitvoertijd [ 'time' ], aantal results [ 'number' ], en in geval v.e. insert query de ingevoegde auto_increment id [ 'id' ], zie script voor meer stats.

$mysql->total_time bevat de totale tijd die is gebruikt voor alle mysql queries samen, $mysql->total_queries bevat het totaal aantal uitgevoerde queries. $mysql->time bevat de tijd die de laatste query kostte.

De functie $mysql->gather_stats( ) geeft diverse statistieken terug, die in het geval van $config[ 'auto_retrieve_result' ] = true en $config[ 'auto_gather_stats' ] = true al opgenomen zijn in $db[ 0 ], zie hierboven.

Verder heb ik diverse configuratieopties toegevoegd, zie script voor meer uitleg.

Veel succes!

Gesponsorde koppelingen

PHP script bestanden

  1. smart-mysql

 

Er zijn 12 reacties op 'Smart mysql'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Frank -
Frank -
20 jaar geleden
 
0 +1 -0 -1
Kun je even code-tags om de code zetten? Dus keurig php openen en sluiten? Dan ziet het er een stuk beter uit.

De titel 'Smart mysql' is twijfelachtig, een nog veel dommere database dan MySQL bestaat er bij mijn weten niet. Default ziet MySQL 'een broodje aap' aan voor een geldige datum, bij aggregate functies wordt er naar de resultaten geraden, etc. etc. etc. etc. Het hangt aanelkaar van de bugs!

Tip: Stel minimaal een veiliger mode in, dan loop je niet al teveel risico's met MySQL. Wil niet zeggen dat het dan altijd goed gaat, maar de kans wordt groter.

Edit: die() in je classe is natuurlijk niet handig, dat is wel slechtste foutafhandeling die er is. Gooi dan een exception, lijkt me handiger.
Kalle P
Kalle P
20 jaar geleden
 
0 +1 -0 -1
PDO
- -
- -
20 jaar geleden
 
0 +1 -0 -1
Wat is het voordeel van deze classe ten opzichte van PDO (of eventueel MySQLi, die trouwens ook alweer halfdood is)? Deze is trager, en biedt minder mogelijkheden.


20 jaar geleden
 
0 +1 -0 -1
Wat is het voordeel boven de MySQLi class of PDO class?
@Jonathan waarom is mysqli halfdood?


20 jaar geleden
 
0 +1 -0 -1
-Code tags toegevoegd :)
-Met de titel duidde ik ook niet op MySQL wat slimmer wordt, maar eigenlijk meer op een "slimme" (lees: handige) class die automatisch records ophaalt.
-Ga ik doen:)
-Heb je gelijk in, ga ik ook aanpassen
Frank -
Frank -
20 jaar geleden
 
0 +1 -0 -1
Wanneer je de classe toch gaat aanpassen, maak er dan een php5-classe van, dus keurig met constructor en destructor, public, protected, etc.

PHP versie 4 is op sterven na dood, daar zit geen toekomst mee in.
PHP erik
PHP erik
20 jaar geleden
 
0 +1 -0 -1
Dit script script is volledig OOP:
- Oud
- Overbodig
- PDO is beter


20 jaar geleden
 
0 +1 -0 -1
Goh, kunnen jullie op phphulp.nl gewoon niet positief doen ofso? Moet alles maar gelijk weer afgekraakt worden terwijl iemand zijn best doet zijn script aan anderen door te geven? Ik begrijp dat mijn klasse verre van perfect is maar dat het op zo'n manier moet vindt ik echt beláchelijk. De groeten.
Martijn B
Martijn B
20 jaar geleden
 
0 +1 -0 -1
Is het bij PDO niet zo dat bepaalde functies/methodes niet voor alle database systemen werken?

Zo ja, wat is dan nog het voordeel ten opzichte van een eigen database klasse?

Dan kun je je richten om 1 of 2 database systemen en kun je zelf kijken welke functionaliteit je gebruikt en of deze ook aanwezig zijn in het de gekozen systemen.
Verder lijkt mij het gebruik van de extensies mysql, mysqli en pg veel sneller dan PDO.
Ook gezien de ontwikkeling van de mysqlnd driver die de generieke mysql cliënt vervangt. De helft minder geheugen gebruik bijvoorbeeld.

Wie maakt er nu in de praktijk een project voor meer dan 1 of 2 database systemen?
Waarom zou je er dan nog rekening mee moeten houden?

@Mathijs:
Er wordt volgens mij alleen feedback gegeven.

Met feedback kun je iets, dus doe er je voordeel mee.


20 jaar geleden
 
0 +1 -0 -1
Heb je gelijk in, (opbouwende) kritiek vind ik ook helemaal niet erg, het helpt alleen maar je script te verbeteren.
Maar een reactie als die van PHPerik vind ik dus helemaal nergens op slaan.
Ik ben @ het moment bezig met een verbeterde php5 versie, morgen of vandaag is ie klaar en post ik hem hier.
- -
- -
20 jaar geleden
 
0 +1 -0 -1
Lol? Komt geen klikbare titel aan de zijkant bij dit script :')
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen


20 jaar geleden
 
0 +1 -0 -1
Bij deze mijn verbeterde PHP5 versie. Ik heb wat meer configuratieopties toegevoegd, en ook kan je nu makkelijk zelf foutmeldingen instellen.
Als er nog bugs/tips/ideeën zijn dan hoor ik het graag maar blijf wel vriendelijk aub;) dan doe ik mijn best om het te verbeteren.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. smart-mysql

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.