TUTOS.EU

Saisir des requêtes SQL et les envoyer au serveur

En PHP, comment avoir une fenêtre pour saisir des requêtes SQL et les envoyer à un serveur de BDD

Le code

<HTML>
	<HEAD>
		<meta http-equiv="X-UA-Compatible" content="IE=8" />
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	</HEAD>
	<BODY>
<?php
	//Version du 22 avril 2013

	//Définition des constantes
	define("SQLServerName","NomServeurMySQL");
	define("sqldbname","NomBaseDeDonnees");
	define("sqllogin","LoginSQL");
	define("sqlpass","MotDePasseSQL");

	$MaConnection = mysql_connect(constant('SQLServerName'),constant('sqllogin'),constant('sqlpass')); //Création de la connexion à la base de données
	if ($MaConnection) {
		mysql_select_db(constant('sqldbname'), $MaConnection); //Sélection de la base
		mysql_query("SET NAMES UTF8"); //On utilise le codage UTF8

		//Si on a passé une requete SQL à traiter, on l'exécute
		$RequeteSQLaTraiter = $_POST['TxtRequeteSQLAEnvoyer'];
		if (strlen($RequeteSQLaTraiter) > 0){
			//$RequeteSQLaTraiter = $_GET['TxtRequeteSQLAEnvoyer']; 
			//echo "Requête passée au formulaire : ".$RequeteSQLaTraiter."<br />\n";
			echo "Requête(s) passée(s) au formulaire :<br />\n";
			
			$ArrayRequetes = explode(chr(13), $RequeteSQLaTraiter);
			foreach($ArrayRequetes as $UneRequete){
				if (strlen(trim($UneRequete)) > 0){
					$UneRequete = stripslashes($UneRequete); //Comme PHP a échapé les ' avec un \, il faut virer les \
					mysql_real_escape_string($UneRequete, $MaConnection);
					echo $UneRequete;			
					echo " : ";
					
					$Resultat = mysql_query($UneRequete, $MaConnection);
					echo $Resultat;
					echo "<br />\n";
				}
			}
		}
	}
	else{
		die('Connexion impossible : ' . mysql_error());
	}
	
//Formulaire pour envoyer une requête SQL à traiter :
	echo "Formulaire pour envoyer une requête SQL à traiter<br />\n";
	echo "<FORM METHOD=\"POST\" name=\"FormRequeteSQL\" ACTION=\"/admin/Aeff.php\">\n";
	echo "<textarea name=\"TxtRequeteSQLAEnvoyer\" id=\"TxtRequeteSQLAEnvoyer\" cols=\"120\" rows=\"5\">\n";
	echo "Select * from `NomDeLaBase`.`NomDeLaTable`;\n";
	echo "</textarea><br />\n";
	echo "<INPUT type=\"Submit\" value=\"Envoyer Requete SQL\"><br />\n";
	echo "</FORM>\n";

?>
	</BODY>
</HTML>
Lien vers le fichier : cliquez ici Copier le code

2