Sql/exe executeur de requettes sql

Contenu du snippet

Ce script execute des requette SQL sur une base de donnees MYSQL que vous entrez qu prealable.
Il fonctionne avec des cookies. Des que le cookie est cree vous pouvez lancer les differentes requette
de projection ,insertion et mise a jour selon vos droits.

Source / Exemple :


<?
//SQL/EXE par Mohamed kabir KONE 
//Creation 05/02/2011

//si les cookes d'infos de BD n'existent pas
if(!$_COOKIE['host'] and !$_COOKIE['user'] and !$_COOKIE['password'] and !$_COOKIE['db'] or $_GET['q'] == 'deconnexion'){
if(isset($_GET['q']) and $_GET['q'] == 'deconnexion'){//si l'user veut entrer de nouvelle informations de BD
 setcookie("host");
 setcookie("user");
 setcookie("password");
 setcookie("db");
} 
// si l'utilisateur vient juste d'entree les infos de bd et qu'elles ne sont pas vides
if(isset($_POST['host']) and $_POST['host'] !='' and isset($_POST['user']) and $_POST['user'] !='' and isset($_POST['password']) and $_POST['password'] !='' and isset($_POST['db']) and $_POST['db'] !=''){
$host = $_POST['host'];
$user = $_POST['user'];
$password = $_POST['password'];
$db = $_POST['db'];
//on cree les cookie contenant les infos de BD
 setcookie("host",$host,time()+86400);
 setcookie("user",$user,time()+86400);
 setcookie("password",$password,time()+86400);
 setcookie("db",$db,time()+86400);
//puis on affiche le formulaire de redaction de requettes
?>
<h1>SQL/EXE</h1>
<p><a href="?q=deconnexion">Deconnexion</a></p>
<p>MYSQL est deconnecte. Veuillez executer votre premiere requete pour qu'il demarre.</p>
<form method="POST" action="?q=yes">
<table>
<tr><td><p>Votre requete:</p></td></tr>
<tr><td><textarea style="min-width: 500px;min-height: 200px;" name="requete" id="requete"> Tapez votre requete ici</textarea></td></tr>
<tr><td><input type="submit" name="validation" id="validation" value="[Executer la Requete]"></td></tr>

</table>
</form>

<?
} else{
// sinon si les infos de BD n'existent pas
// il faut entrer les infos
?>
<html>
 <head>
 </head>
<body>
<h1>SQL/EXE</h1>
<h2>Remplissez tous les champs s'il vous plait.<br/>Ce script fonctionne avec des cookies</h2>
<form method="POST" action="?q=query">
<table>
<tr><td><p>Serveur hote:</p></td></tr>
<tr><td><input type = "text" style="min-width: 200px;min-height: 15px;" name="host" id="host"/></td></tr>
<tr><td><p>Utilisateur:</p></td></tr>
<tr><td><input type = "text" style="min-width: 200px;min-height: 15px;" name="user" id="user"/></td></tr>
<tr><td><p>Mot de Passe:</p></td></tr>
<tr><td><input type = "password" style="min-width: 200px;min-height: 15px;" name="password" id="password"/></td></tr>
<tr><td><p>Base de Donnee:</p></td></tr>
<tr><td><input type = "text" style="min-width: 200px;min-height: 15px;" name="db" id="db"/></td></tr>
<tr><td><input type="submit" name="validation" id="validation" value="[Connexion a la base]"></td></tr>
</table>
</form>
<?
}
} else{ 
//sinon si les cookies existent 
//on affiche le formulaire de redaction de requettes ou le resultat si 
//une requette a deja ete lancee.
?>
<html>
 <head>
 </head>
<body>
<h1>SQL/EXE</h1>
<p><a href="?q=deconnexion">Deconnexion</a></p>
<?
$host1 = $_COOKIE["host"];
$user1 = $_COOKIE["user"];
$password1 = $_COOKIE["password"];
$db1 = $_COOKIE["db"];
$connexion = mysql_connect($host1,$user1,$password1) or die('Eh djaaaa Ya erreeeeere ');
if($connexion){
 print '<p>MySQL est connecte avec l\'identifiant :'.$connexion.'</p>';
 print 'Vous etes connecte sur le serveur '.$host1.' en tant que '.$user1.' a la base de donnee '.$db1;
 mysql_select_db($db1);
if(isset($_POST['requete']) and $_GET['q'] == "yes"){
// si on vient juste d'entrer une requette
 $requete = $_POST['requete'];
 $reponse = @mysql_query($requete) or die('<p>Erreur lors de l\'execution de la requette</p> <p><a href="?q=back">Retour</a></p>');
 if($reponse) print '<p>Votre requete s\'est bien executee.</p><p><a href="?q=back">Retour</a></p><p>Resultats de la requette:</p>';
 
$y = mysql_num_fields($reponse);
$x = mysql_num_rows($reponse); 

print '<table style="border: solid #000 1px;">';
if($x>0){
for($i=0;$i<$y;$i++){//affichage des nom des differents champs
echo "<th>",mysql_field_name($reponse,$i)," </th>"; 
}
}

 for($i = 0; $i< $x; $i++){// affichage des tuples
  $donnee = mysql_fetch_array($reponse);
  print '<tr style="border: solid #000 1px;">';
  for($j = 0; $j< $y; $j++){
   print '<td style="border: solid #000 1px;">'.$donnee[$j].'</td>';
  }
  print '</tr>';
 }
print '</table>';
} else{
 //si on a pas encore entrer de requette ,affichage du formulaire de redaction de requette.
?>
<form method="POST" action="?q=yes">
<table>
<tr><td><p>Votre requete:</p></td></tr>
<tr><td><textarea style="min-width: 500px;min-height: 200px;" name="requete" id="requete"> Tapez votre requete ici</textarea></td></tr>
<tr><td><input type="submit" name="validation" id="validation" value="[Executer la Requete]"></td></tr>

</table>
</form>

<?
}
 mysql_close();
}  

  }
?>
</body>
</html>

Conclusion :


J'espere qu'il vous sera utile. Mais si vous y apportez des amelioration ,pensez a m'en faire part SVP.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.