Problème php

Résolu
darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   -  
darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je suis en train de faire un petit carnet d'adresse en php.
Mais j'ai un problème : en le testant en local avec wamp, il me met ce message d'erreur:
'Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\exos php\carnet adresse.php on line 15'
Voici mon code :
<html>
<head>
<title>Carnet d'adresse</title>
</head>
<body>
<?php
if(isset($_POST['prenom'])and isset($_POST['nom']) and isset($_POST['telephone']) and isset($_POST['adresse']) and isset($_POST['email']))
{
	$prenom = $_POST['prenom'];
	$nom = $_POST['nom'];
	$telephone = $_POST['telephone'];
	$adresse = $_POST['adresse'];
	$email = $_POST['email'];
	mysql_connect('localhost', 'root', '');
	mysql_select_db('cours_php');
	$reponse = mysql_query('INSERT INTO carnet_adresse VALUES("", "$prenom", "$nom", "$telephone", "$adresse", "$email")');
	while ($donnees = mysql_fetch_array($reponse) )
{
?>
	<address>
	<strong><?php echo $donnees ['nom']?></strong><br>
	<strong><?php echo $donnees ['prenom']?></strong><br>
	<strong><?php echo $donnees ['telephone']?></strong><br>
	<strong><?php echo $donnees ['adresse']?></strong><br>
	<strong><?php echo $donnees ['email']?></strong><br>
	</address>
	<?php
	mysql_close();
}
}
else
{
?>
<h1>Votre contact</h1>
<form action="carnet adresse.php" method="post">
Nom : <input type="text" name="prenom" value=""><br>
Prénom : <input type="text" name="nom" value=""><br>
Numéro de téléphone : <input type="text" name="telephone" value="" maxlength="10"><br>
Adresse : <input type="text" name="adresse" value=""><br>
E-mail : <input type="text" name="email" value=""><br>
<input type="submit" value="Valider"><br>
</form>
<?php
}
?>
</body>
</html>

Je précise au passage que dans ma base sql, j'ai 5 champs (prenom en varchar, nom en varchar, telephone en int, adresse en varchar et email en varchar).
Pourquoi wamp affiche-t-il ce message ??
Merci
A voir également:

3 réponses

macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
Bonjour.

Ce genre de message d'erreur provient d'un problème avec ta requête :
Elle est mal construite (ou la connexion ne s'est pas faite). Du coup, $reponse prend la valeur FALSE au lieu de prendre un array contenant les pointeurs vers les lignes selectionnées, et le fetch_array plante...

A faire :
	mysql_connect('localhost', 'root', '') or die ('Erreur de connection à MySQL '.mysql_error());
	mysql_select_db('cours_php') or die ('Erreur de connection à la base '.mysql_error());
	$requete = 'INSERT INTO carnet_adresse VALUES("", "$prenom", "$nom", "$telephone", "$adresse", "$email")';
	$reponse = mysql_query($requete)  or die ('Erreur de requête '.$requete.'<br />'.mysql_error());

En cas de problème de connexion (ou de requête), le or die te renverra le message d'erreur de MySQL et stoppe le script.
0
darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   459
 
Juste une question bête :() :
Où dois-je insérer ces instructions ???
merci et dsl pour la question
0
macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
Réponse bête :
A la place des instructions de départ... :-P

Dans l'idéal, tu utilises un éditeur de texte à coloration syntaxique (comme Notepad++).
Remplace le bloc de lignes contenant les instructions mysql_* par celles que je te donne.
0
darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   459
 
merci
0