PHPhulp
 
 
Header image
Username: Password:   registreren | wachtwoord kwijt
 


PHP scripts

Query script

Niveau: Beginner
PHP versie: *
Categorie: Databases


Door Hoithebest op 30.01.2010

Print versie PHP script

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:

 Selecteer deze 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 categorie Meer PHP scripts in deze categorie

Reacties

Voeg ook een reactie toe.

Yearupie schreef op 30.01.2010 21:26
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:
 Selecteer deze code
1
2
3
<?php
number_format
(mysql_num_rows(mysql_query(stripslashes($_POST['query']))), 0","".");
?>

steen schreef op 30.01.2010 21:26
Als dit voor jou werkt gebruik je nooit join query's of wel?

 Selecteer deze code
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.

Hoithebest schreef op 30.01.2010 21:30
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

Yearupie schreef op 30.01.2010 21:40
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.

Klaasjan Boven schreef op 30.01.2010 22:13
NIet geschikt voor RDMS dus..

yorick17 schreef op 31.01.2010 00:19
dit soort dingen moet je niet op eigen houtje doen, maar uitbesteden aan bv phpmyadmin.

RichardvV schreef op 03.02.2010 15:41
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.

tracker Laatste PHP tutorials

10.02
30.01
22.01
19.01
30.12

tracker Laatste PHP scripts

04.02
31.01
30.01
30.01
30.01

tracker Laatste PHP boeken

03.11
04.10
04.05
11.03
03.08

tracker Laatste forum berichten

13:24
13:24
13:24
23:04
19:07
19:04
14:41
14:06
14:06
13:41
11:29
10:15

tracker Laatste reacties

13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)

PHP zoeken PHP zoeken

 Zoekterm

Zoeken in

tracker Voting poll

 Welke browser heeft jouw voorkeur?

Google Chrome
Mozilla Firefox
Internet Explorer
Apple Safari
Opera Software
Een andere browser


tracker Actieve leden

 
 Er zijn 41 gasten en 4 leden actief.
Actieve leden: peter-jan@blitz.nu, Arjen Halma, Marco, Wieland