PHP scripts
Query script
Niveau: Beginner
PHP versie: *
Categorie: Databases
Toelichting:
Met dit simpele script kun je query's uitvoeren zonder dat je bijvoorbeeld je MySQL console of phpMyAdmin moet gebruiken. Ik heb het zelf al vaak gebruikt omdat het erg makkelijk is. Er staat ook netjes commentaar bij, zodat het makkelijk te begrijpen is
Door gewoon SELECT ... FROM te gebruiken krijg je het aantal resultaten, bij UPDATE, DELETE en INSERT wordt de query gewoon uitgevoerd.
Foutenafhandeling zit er gewoon netjes in, als de query mislukt krijg je de query en de error te zien, als de query wel werkt staat er dat de query succesvol uitgevoerd is. Enjoy :-)
Code:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?php // Verbinding maken mysql_connect("localhost", "root", "user") or die ("Er kan geen verbinding gemaakt worden."); mysql_select_db("database") or die ("Er kan geen verbinding gemaakt worden met de database."); if ($_SERVER['REQUEST_METHOD'] == 'POST') { // Er is een formulier verstuurd, nu nog controleren if (empty($_POST['query'])) { echo '<span style="color:red; font-weight: bold">Je hebt geen query ingevuld!</span>'; } elseif (preg_match('/select/', strtolower($_POST['query'])) && preg_match('/from/', strtolower($_POST['query']))) { // De SELECT query is succesvol uitgevoerd, nu de output weergeven echo '<span style="color:green; font-weight: bold">Query succesvol uitgevoerd:</span><br /> <b>Query:</b> '.stripslashes(htmlspecialchars($_POST['query'])).'<br /> <b>Rijen:</b> '.number_format(mysql_num_rows(mysql_query(stripslashes($_POST['query']))), 0, ",", "."); } else { // De query is succesvol uitgevoerd, dit laten we zien if (mysql_query(stripslashes($_POST['query']))) { echo '<span style="color:green; font-weight: bold">Query succesvol uitgevoerd:</span><br />'.stripslashes(htmlspecialchars($_POST['query'])); } else { // De query was kapot, laat de query en de error zien echo '<span style="color:red; font-weight: bold">Query niet succesvol uitgevoerd:</span><br /> <b>Query:</b> '.stripslashes(htmlspecialchars($_POST['query'])).'<br /> <b>Error:</b> '.mysql_error(); } } } // Het query formulier echo '<form method="post" action=""><p> Query:<br /> <textarea name="query" rows="6" cols="37"></textarea><br /><br /> <input type="submit" value="Uitvoeren" /> <input type="reset" value="Herstel" /> </p></form>'; ?> |
Meer PHP scripts in deze categorieReacties
Voeg ook een reactie toe.
Persoonlijk zou ik dit nooit op mijn site zetten,
dit is een killMyDatabase script.
Als er iemand ooit op deze pagina terechtkomt krijg je problemen.
Voor de rest is het niet echt overzichtelijk, dit is toch niet netjes:
|
1 2 3 |
<?php number_format(mysql_num_rows(mysql_query(stripslashes($_POST['query']))), 0, ",", "."); ?> |
Als dit voor jou werkt gebruik je nooit join query's of wel?
|
1 |
DELETE FROM categorie WHERE id NOT IN(SELECT categorie_id FROM producten);
|
Bijvoorbeeld het verwijderen van categorieën waar geen producten in hangen op deze manier is toch écht een DELETE query en valt in dit script onder een SELECT query.
Ik heb idd nog nooit met join's gewerkt eerlijk gezegd.
@Yearupi; nee maar het bespaart wel geheugen door er geen variabel van te maken.

Gewijzigd op 30.01.2010 21:31 door Hoithebest
Nou, zo veel geheugen is het ook weer niet!
Aan een overzichtelijk script hebben we hier meer, dan een script die 1 variabel minder heeft en onleesbaar is.
NIet geschikt voor RDMS dus..
dit soort dingen moet je niet op eigen houtje doen, maar uitbesteden aan bv phpmyadmin.
Nee, een database beheren hoor je gewoon via de commandline te doen. phpMyAdmin is een vreselijk product, gebruik dan EMS SQL Manager voor MySQL, die is er ook in een gratis uitvoering.
Voeg een reactie toe
Alleen leden mogen reacties toevoegen. Dit i.v.m. het vele spam die we de laatste tijd hebben gekregen. Je kunt je registreren op de registratie pagina. Ben je al lid? Dan kun je inloggen aan de bovenkant van de website.
Ga naar het overzicht met PHP scripts.
