problème de requère SQL avec mysql_fetch_array

Petit nouveau ! | 7 Messages

02 mars 2006, 21:14

Bonjour,

J'ai un soucis,surement petit avec la fonction "mysql_fetch_array" où j'ai cette erreur:"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in..line.."
Je souhaite stocker ma requete sql(qui prend des données que l'utilisateur saisis dans un formulaire) avec mysql_query dans la variable que j'ai nommé "$affresultat".

J'ai verifié, le nom de mes attributs dans la requète SQL sont correct par rapport à ma BD.

Ensuite je souhaite inserer dans chaque colonne d'un tableau indicé les valeurs renvoyée par $affresultat donc ma requète SQL.J'utilise alors "mysql_fetch_array".

C'est surement une erreur dans ma requète mais la je suis perdu.

Voila j'espère avoir été clair à vos yeux :wink: et de ne pas parler d'un problème déja résolu
merci d'avance.
if ($idconnexion) {  
                                                                            //ma requète SQL
$requete='SELECT n_dvd,titre,duree,jaquette,lib_genre 
	        FROM DVD,genre 
                WHERE DVD.n_genre=genre.n_genre                         
	        AND titre LIKE="'.$_POST['titres'].'"' ;

$affresultat = mysql_query($requete); 


    echo'<table width="95%" border="1">';                            
    echo'<tr>';                                                       
    echo'<td align="center">TITRE</td>';
    echo'<td align="center">DUREE</td>';
    echo'<td align="center">GENRE</td>';
    echo'<td align="center">JACQUETTE</td>';
    echo'<td align="center">ACTEURS</td>';
    echo'</tr>';
  
    while ( $ligne = mysql_fetch_array($affresultat , MYSQL_BOTH)) {  //mon erreur signalé

    	echo'<tr>';
    echo'<td>'.$ligne[0].'</td>';                                        //insert dans chaque colonne les données de la requete $requete
    echo'<td>'.$ligne[1].'</td>';
    echo'<td>'.$ligne[2].'</td>';
    echo'<td><img src="/DVDTHEQUE/images'.$ligne[3].'.jpg"</td>';
    echo'<td>'.$ligne[4].'</td>';
    echo'</tr>';
      
	   }
     echo '</table>';                                                      //Pour chaque   ligne de AffichResultat on affiche la requete
 
  }

Avatar du membre
ViPHP
ViPHP | 3008 Messages

02 mars 2006, 21:29

Essaies ce code :
<?php
if ($idconnexion)
{
//ma requète SQL
$requete='SELECT n_dvd,titre,duree,jaquette,lib_genre
	FROM DVD,genre
	WHERE DVD.n_genre=genre.n_genre
	AND titre LIKE="'.$_POST['titres'].'"' ;
$affresultat = mysql_query($requete);
?>
<table width="95%" border="1">
<tr>                                
	<td align="center">TITRE</td>
	<td align="center">DUREE</td>
	<td align="center">GENRE</td>
	<td align="center">JACQUETTE</td>
	<td align="center">ACTEURS</td>
</tr>
<?php
while ($ligne = mysql_fetch_array($affresultat))
{
	echo'<tr>'; 
	echo'<td>'.$ligne[0].'</td>'; //insert dans chaque colonne les données de la requete $requete 
	echo'<td>'.$ligne[1].'</td>'; 
	echo'<td>'.$ligne[2].'</td>'; 
	echo'<td><img src="/DVDTHEQUE/images'.$ligne[3].'.jpg"></td>'; 
	echo'<td>'.$ligne[4].'</td>';
	echo'</tr>'; 
}
}
?>
</table>

Petit nouveau ! | 7 Messages

02 mars 2006, 22:01

J'obtient toujours la meme erreur malgrès ton aide Charabia:"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in .. on line .."

Est ce que cela pourrais provenir d'une erreur dans ma Base de Données?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

02 mars 2006, 22:06

Que donne la requête si tu la fait directement dans phpMyAdmin, tu pourrais mieux voir le problème.

Petit nouveau ! | 7 Messages

02 mars 2006, 22:25

J'ai rentré ma requère dans PhpMyAdmin et j'ai un message d'erreur de syntaxe à la ligne 1,je sais pas d'ou elle peut sortir,j'ai verifié et j'en vois aucunne.
'SELECT n_dvd,titre,duree,jaquette,lib_genre,
	     FROM DVD,genre,
             WHERE DVD.n_genre=genre.n_genre,                         
             AND titre LIKE="'.$_POST['titres'].'"';

Avatar du membre
ViPHP
ViPHP | 3008 Messages

02 mars 2006, 22:28

'SELECT n_dvd,titre,duree,jaquette,lib_genre
         FROM DVD,genre
             WHERE DVD.n_genre=genre.n_genre
             AND titre LIKE="'.$_POST['titres'].'"';
Tu as une virgule en trop après lib_genre, idem après genre et n_genre.

Petit nouveau ! | 7 Messages

02 mars 2006, 22:43

Je suis perdu la,après les erreurs modifiées voici la nouvelle :#1064 - Erreur de syntaxe pr�s de '="'.$_POST['titres']." LIMIT 0, 30' � la ligne 4

le nom de mon formulaire se trouvant dans une autre page se nomme bien "titres",et j'utilise bien la méthode POST pourtant, est ce que ma requète en soit est bonne?

merci :wink:

Avatar du membre
ViPHP
ViPHP | 3008 Messages

02 mars 2006, 22:56

Heu...ce n'est pas le nom du formulaire qu'il faut utiliser mais le nom de tes champs.

Et pourquoi tu as des tits carrés dans ta requête ? Mais l'erreur que tu as ne provient pas du problème de nom.

Le LIKE ne s'utilise pas comme ça. Va voir la doc dessus.
Modifié en dernier par charabia le 02 mars 2006, 23:02, modifié 1 fois.

Petit nouveau ! | 7 Messages

02 mars 2006, 23:02

:oops: Oui pardon erreur de ma part,
Au niveau de mon erreur que signifie LIMIT 0,30 ?
L'erreur de syntaxe est imaginaire :?: :D Vois-tu une erreur flagrante dans mon formulaire qui n'as rien de plus simple?
<p class="Style1"><form name="formsaisis-titre_dvdthèque" action="affichrésultat_dvdthèque.php" method="post">
<input type="text" size="30" name="titres">

<input type="submit" value="envoyer">




</form>
Oui je crois avoir executer la requete directement,enfin si c'est bien dans
Phpmyadmin=>SQL=>executer la requete


merci :wink:

Avatar du membre
ViPHP
ViPHP | 3008 Messages

02 mars 2006, 23:05

C'est le LIKE qui ne s'utilise pas comme ça. Va voir la doc :)
LIKE "'.$_POST['titres'].'"';
En passant, il faut vraiment éviter les nom à ralonge...et avec des accents en plus.

Petit nouveau ! | 7 Messages

02 mars 2006, 23:16

merci pour tout ,l'opérateur LIKE à été supprimé, car en faite je voulais que l'utilisateur puissent taper par exemple que le debut d'un mot et que cela lui renvoie tout les mots commencant par ce qu'il avait tapé,mais je vais men tenir au minimum.

Encore merci Charabia,le tout marche nikel.

Continue d'aider les newbies :wink:
@ plus

Avatar du membre
ViPHP
ViPHP | 3008 Messages

02 mars 2006, 23:22

De rien :)

N'oublies pas de mettre le résolu ;)