Xeon Posté 2 Août 2005 Partager Posté 2 Août 2005 Bonjour, J'ai un script avec une requête mysql : $query = "SELECT DISTINCT animalNom FROM Animal WHERE animalType='$categorie' ORDER BY animalNom"; $result = mysql_query($query) or die ("Couldn't execute query"); Lorsque je la lance dans phpmyadmin, elle me renvoie bien la liste voulue, mais si je la lance dans un fichier php, j'ai la réponse "Couldn't execute query". D'où pourrait venir l'erreur ? Merci de votre aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 2 Août 2005 Partager Posté 2 Août 2005 Es tu bien connecté à ta base? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Boo2M0rs0 Posté 2 Août 2005 Partager Posté 2 Août 2005 remplace la commande die actuelle par die( mysql_error () ) pour savoir ce qu'il se passe. Mais je pense aussi que tu n'es peut être pas connecté à la base (comme le suggère portekoi ). Il y a peut être aussi une apostrophe simple dans le contenu de la variable $categorie. Lien vers le commentaire Partager sur d’autres sites More sharing options...
bigornot Posté 2 Août 2005 Partager Posté 2 Août 2005 Essaie peut-etre : $query = "SELECT DISTINCT animalNom FROM AnimalWHERE animalType='".$categorie."' ORDER BY animalNom";$result = mysql_query($query) or die ("Couldn't execute query"); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xeon Posté 3 Août 2005 Auteur Partager Posté 3 Août 2005 remplace la commande die actuelle par die( mysql_error () ) pour savoir ce qu'il se passe. Mais je pense aussi que tu n'es peut être pas connecté à la base (comme le suggère portekoi ). Il y a peut être aussi une apostrophe simple dans le contenu de la variable $categorie. <{POST_SNAPBACK}> Je pense que je suis bien connecté à la bdd, car si je rajoute une catégorie manuellement par phpmyadmin, je la retrouve ensuite dans mon programme en ligne. J'ai essayé die( mysql_error () ), mais cela me renvoie la même erreur. De même avec le rajout des guillements. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 3 Août 2005 Partager Posté 3 Août 2005 Cela m'étonne... Peux tu nous donner un beaucoup de ton code? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xeon Posté 4 Août 2005 Auteur Partager Posté 4 Août 2005 Voici l'url pour tester : http://www.matiere-esprit-science.com/php/...a/selection.php Et voici le code : <?php /* Programme : ajouteranimal.php * Desc : Ajoute un nouvel animal à la base de données * puis affiche un écran de confirmation. */ if (@$_POST['neoBouton'] == "annuler") # 7 { header("Location: selection.php"); } $animalNom = $_POST['animalNom']; $neoNom = $_POST['neoNom']; $animalPrix = $_POST['animalPrix']; $animalImage = $_POST['animalImage']; $animalCouleur = $_POST['animalCouleur']; $categorie = $_POST['categorie']; $animalDescription = $_POST['animalDescription']; if ($animalNom == "nouveau") #18 { if ($neoNom == "") #20 { include("neoNom_form.inc"); exit(); } else #25 { $animalNom=trim($neoNom); $animalNom=ucfirst(strtolower(strip_tags($animalNom))); } } if ($animalImage == "") #31 $animalImage = "na.gif";?><html><head><title>Ajouter un animal</title></head><body><?php include("mdp.inc"); #38 $connection = mysql_connect($host,$user,$password) or die ("couldn't connect to server"); $db = mysql_select_db($database,$connection) or die ("Couldn't select database"); /* Nettoyer les informations */ $animalDescription = strip_tags(trim($animalDescription)); $animalPrix = strip_tags(trim($animalPrix)); $animalImage = strip_tags(trim($animalImage)); $animalCouleur = strip_tags(trim($animalCouleur)); $query = "INSERT INTO Animal (animalNom,animalType,animalDescription,animalPrix,animalImage) VALUES ('$animalNom','$categorie','$animalDescription','$animalPrix', '$animalImage')"; $result = mysql_query($query) or die ("Couldn't execute query."); $petID = mysql_insert_id(); #55 echo "L'animal suivant a été ajouté au catalogue : <br> <ul> <li>categorie: $categorie <li>Nom : $animalNom <li>Description : $animalDescription <li>Prix : $animalPrix <li>Image : $animalImage \n"; if ($animalCouleur != "") #66 { if ($animalNom == "Poisson rouge" or $animalNom == "Perruche") { $query = "SELECT animalNom FROM Couleur WHERE animalNom='$animalNom' AND animalCouleur='$animalCouleur'"; $result = mysql_query($query) or die ("Couldn't execute query."); $num = mysql_num_rows($result); if ($num < 1) { $query = "INSERT INTO Couleur (animalNom,animalCouleur,animalImage) VALUES ('$animalNom','$animalCouleur','$animalImage')"; $result = mysql_query($query) or die ("Couldn't execute query."); echo "<li>Couleur : $animalCouleur\n"; } } } #85 echo "</ul>"; echo "<a href='selection.php'>Ajouter un autre animal</a>\n";?></body></html> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 4 Août 2005 Partager Posté 4 Août 2005 Bonjour, 1/: Si cetet catégorie A remplacer par : Si cette catégorie 2/ : Le code que tu nous as posté correspond à la page : /* Programme : ajouteranimal.php alors que si l'on ajoute une catégorie via le lien que tu nous as donné : Voici l'url pour tester :http://www.matiere-esprit-science.com/php/...a/selection.php nous sommes sur la page : ./anicata/nouveaunom.php Ce n'est pas la bonne page/bon code. 3/ : Dans ce code, il y a : $query = "INSERT INTO Animal (animalNom,animalType,animalDescription,animalPrix,animalImage) VALUES ('$animalNom','$categorie','$animalDescription','$animalPrix', '$animalImage')"; $result = mysql_query($query) or die ("Couldn't execute query."); Il faudrait que tu modifies/rajoutes : $query = "INSERT INTO Animal (animalNom,animalType,animalDescription,animalPrix,animalImage) VALUES ('$animalNom','$categorie','$animalDescription','$animalPrix', '$animalImage')";echo "<br>".$query; $result = mysql_query($query) or die ("Couldn't execute query."); et que tu nous donnes le résultat 4/ : Il y a un certain nombre de : or die ("Couldn't execute query."); Ces codes ne te permettent pas de savoir où ca bloque (quelle ligne). Tu devrais les numéroter, pour ainsi savoir lequel bloque exactement. Exemple : or die ("Impossible d'executer SELECT 'animal' ligne 130"); Voilà pour l'instant Anonymus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 4 Août 2005 Partager Posté 4 Août 2005 Bonjour, Suggestion : Ne fais travaille pas sur des fichiers .inc mais plus tôt .php car cela évite que la personne voit le contenu de ce dernier. Et , à ma connaissance, il n'y a aucun avantage à travailler avec des .inc sauf savoir que c'est un fichier 'include' Portekoi Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xeon Posté 10 Août 2005 Auteur Partager Posté 10 Août 2005 C'est bon. Grâce à la technique pour repérer la query qui ne fonctionne pas, j'ai pu trouver l'erreur (la table était mal nommée). Merci beaucoup. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant