Message d'erreur script php pour envoi de req

[Résolu/Fermé]
Signaler
-
 ANTHURIUMRE -
Bonjour,

Après avoir testé un script php d'envoi de requête en local avec EasyPhp qui fonctionnait correctement je l'ai téléchargé sur un serveur distant. Mais quand je cherche à l'utiliser sur ce serveur distant le message suivant s'affiche :


Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/clients/Monsite.fr/http/Repertoire/Fichier.php on line 23
Base de données sélectionnée : MaBaseDeDonnée
requête : show tables
Résultats

--------------------------------------------------------------------------------

ERREUR SQL :

--------------------------------------------------------------------------------

Quelqu'un pourrait-il m'aider s'il vous plait. Merci d'avance et Voici ci dessous le script :

<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']); 
}
$host="localhost";
$user="MonNomDutilisateur";
$password="Monpasswd";
/*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']);    /*22*/
$result=mysql_query($cxn,$_POST['query']);		/*23*/              
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 : ".mysql_error($cxn)."</h4>";      /*29*/             
}
elseif(@mysql_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=mysql_fetch_fields($result);
foreach($finfo as $field)
{
echo"<th>".$field->name."</th>";
}
echo"</tr></thead>
	<tbody>";
for ($i=0;$i <mysql_num_rows($result);$i++)
{
echo"<tr>";
$row=mysql_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>


4 réponses

Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
Bonjour,

question bête mais essentiel. ton serveur distant tourne bien avec MySQL?
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Bonjour Gremy87,

Oui le serveur tourne bien avec MySql. Merci pour ton aide si tu as une réponse.
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
que vaut $cxn apres le connect?

soit une Ressource soit false
Bonjour,

Deux choses
Tu n'as pas sélectionné ta base avec mysql_select_db , et

$result=mysql_query($cxn,$_POST['query']);

Tu as inversé l'odre des paramètres, c'est
$result=mysql_query($_POST['query'],$cxn);

(en supposant que ta connexion se passe bien
Bonjour Le Père,

Merci pour ta perspicacité. Cela fonctionne. Merci beaucoup à toi et à Gremy87. Mille mercis.
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
effectivement, bien vu ;)