Script php ne fonctionne pas

Fermé
ANTHURIUMRE - 10 janv. 2010 à 08:41
 ANTHURIUMRE - 10 janv. 2010 à 11:11
Bonjour,

Je suis en train de me mettre au PHP et j'ai écrit le code suivant sur l'exemple qui a été donné dans un livre mais je n'ai pas les résultats escomptés puisqu'au bout rien ne s'affiche ni avec easyPHP en local ni avec le serveur dont je loue l'espace.
Quelqu'un pourrait-il m'aider à comprendre pourquoi s'il vous plaît ? Voici le code relatif à un envoi de requête à SQL pour récupération et affichage des résultats.

Merci d'avance.

<?php
/*programme:mysqli_envoi.php
*Description envoi d'une requête SQL au serveur SQL
* et affichage des résultats.
*/
echo"<html>
<head><title>Envoi de requêtes SQL</tilte></head>
<body>";
if(ini_get("magic_quotes_gpc")=="1")
{
$_POST['query']=stripslashes($_POST['query']);
}
$host="localhost";
$user="root";
$password="";
/*section d'exécution de la requête et afffichage des réultats*/
if(!empty($_POST['form']))
{
$cxn=mysql_connect($host,$user,$password,
$_POST['database']);
$result=mysql_query($cxn,$_POSTE['query']);
echo"Base de données sélectionnée : <b>{$_POST['database']}</b><br>
requête : <b>{$_POST['query']}</b>
<h3>Résultats</h3><hr>";
if($result==false)
{
echo"<h4>ERREUR SQL : ".mysqli_error($cxn)."</h4>";
}
elseif(@mysqli_num_rows($result)==0)
{
echo"<h4>Requête exécutée.
Aucun résultat envoyé.</h4>";
}
else
{
/*Affiche les résultats*/
echo"<table border='1'><thead><tr>";
$finfo=mysqli_fetch-fields($result);
foreach($finfo as $field)
{
echo"<th>".$field->name."</th>";
}
echo"</tr></thead>
<tbody>";
for ($i=0;$i <mysqli_num_rows($result);$i++)
{
echo"<tr>";
$row=mysqli-fetch-row($result);
foreach($row as $value)
{
echo"<td>".$value."</td>";
}
echo"</tr>";
}
echo"</tbody></table>";
}
/*Affiche le formulaire avec des boutons après les résultats*/
$query=str_replace("'","%&%",$_POST['query']);
echo"<hr><br>
<form action='{$SERVER['PHP_SELF']}'method='POST'>
<input type='hidden'name='query' value='query'>
<input type='hidden' name='database'
value={$_POST['database']}
<input type='submit' name='queryButton'
value='Nouvelle requête'>
<input type='submit' name='queryButton'
value='Modifier la requête'>
</form>";
exit();
}
/*Affiche le formulaire et saisie de requête*/
if (@$_POST['queryButton']!="Modifier la requête")
{
$query="";
}
else
{
$query=str_replace("%&%","'",$_POST['query']);
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>"
method="POST">
<table>
<tr><td style='text-align:right;font-weight:bold'>
Saisir le nom de la base de données</td>
<td><input type="text" name="database"
value=<?php echo @$_POST['database']?>></td>
</tr>
<tr><td style='text-align:right; font-weight:bold'
valign="top">Saisir la requête SQL</td>
<td><textarea name="query" cols="60"
rows="10"><?php echo $query ?></textarea></td>
</tr>
<tr><td colspan="2" style='text-align:center'>
<input type="submit" value="Valider la requête"><td>
<tr>
</table>
<input type="hidden" name="form" value="yes">
</form>
</body>
</html>
A voir également:

1 réponse

giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
10 janv. 2010 à 10:36
Bonjour,

Dans un premier temps modifiez le début du pgm ainsi :

<html>
<head>
<title>Envoi de requêtes SQL</title></head>
<body>

<?php
/*programme:mysqli_envoi.php
*Description envoi d'une requête SQL au serveur SQL
* et affichage des résultats.
*/
if(ini_get("magic_quotes_gpc")=="1")
{
$_POST['query']=stripslashes($_POST['query']);

ensuite vous verrez que $_POST n'est pas initialisé.

0
Merci Giheller
0