Juste un petit pb de débutant

Résolu
BaRoX Messages postés 3 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 28 mai 2007 - 14 mai 2007 à 11:47
slaxswf Messages postés 32 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 20 mai 2007 - 14 mai 2007 à 13:25
Bonjour à tous.
Je commence tout juste le php et je voudrais savoir pourquoi ce morceau de code ne marche pas :

$sql='SELECT titulo, decripcion, formato, duracion, tipo, comentarios FROM imagen WHERE tema="'.$tema.'" AND tipo="'.$tipo.'";';
$requete=mysql_query($sql);

while ($ligne = mysql_fetch_array($requete)){
   print "<tr>
   <td>".$ligne["titulo"]."</td>
   <td>".$ligne["descripcion"]."</td>
   <td>".$ligne["formato"]."</td>
   <td>".$ligne["duracion"]."</td>
   <td>".$ligne["tipo"]."</td>
   <td>".$ligne["comentarios"]."</td>
   <td></td>
   </tr>"; 
}

L'erreur est la suivante :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\resultadoct.php on line 20

Merci de me répondre

7 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
14 mai 2007 à 12:29
Bonjour,

Le message d'erreur te dis que $requete n'est pas une resource MySQL... Que cela peut-il bien être ?

Le site www.php.net nous dit :
"
Pour les requêtes du type <var>SELECT</var>, <var>SHOW</var>,
<var>DESCRIBE</var> ou <var>EXPLAIN</var>,
mysql_query() retournera une ressource<tt></tt> en cas de succès,
ou <tt>FALSE</tt> en cas d'erreur."
Et aussi :
"mysql_query() échouera et retournera <tt>FALSE</tt>
si l'utilisateur n'a pas les autorisations nécessaire pour accéder à la (aux) table(s)
référencée(s) par la requête."

Je suppose donc que $requete vaut FALSE à cause d'une des deux raisons ici présentées... Comment le savoir ?

Toujours sur la même page du site, première exemple :
Exemple 1527. Requête invalide


La requête suivante est syntaxiquement invalide, donc
mysql_query() va échouer et retourner <tt>FALSE</tt>.


<?php

$result = mysql_query('SELECT * WHERE 1=1');

if (!$result) {

    die('Requête invalide : ' . mysql_error());

}

?>


Intègre donc ce bout de code à ton script.... tu verras très vite quelle est l'erreur coté MySQL.

Bonne chance,
3
slaxswf Messages postés 32 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 20 mai 2007
14 mai 2007 à 12:50
while ($ligne = mysql_fetch_assoc($requete)){
à la place de while ($ligne = mysql_fetch_array($requete)){
0
slaxswf Messages postés 32 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 20 mai 2007
14 mai 2007 à 12:52
et ici : tipo="'.$tipo.'"'; au lieu de tipo="'.$tipo.'";';
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
14 mai 2007 à 13:06
slaxswf :

* fetch_assoc ou fetch_array.... Tu chipottes, :
Performance:
Une chose importante à noter est que l'utilisation de
mysql_fetch_array() n'est pas
significativement plus lent que l'utilisation de
mysql_fetch_row(), alors qu'il fournit
des valeurs significatives ajoutées. (http://www.php.net/manual/fr/function.mysql-fetch-array.php)
* Effectivement, l'erreur de syntaxe SQL est ici... Mais c'est en le laissant trouver que tu l'aurais plus aider... ("You have an error in your SQL syntax near...")
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BaRoX Messages postés 3 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 28 mai 2007
14 mai 2007 à 13:22
Merci beaucoup !
0
slaxswf Messages postés 32 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 20 mai 2007
14 mai 2007 à 13:23
oki excuse moi ,)
0
slaxswf Messages postés 32 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 20 mai 2007
14 mai 2007 à 13:25
oki excuse moi ,)
0
Rejoignez-nous