Rechercher : dans
Par :

Probleme : Erreur mysql

Dernière réponse le 13 nov 2007 à 18:39:42 KOKOLO, le 13 nov 2007 à 17:28:56 
 Signaler ce message aux modérateurs

Bonjour,

J ai un petit soucis...

Je suis en train de faire un moteur de recherche me permettant de verifier si certaines données sont déjà présentes dans la base...J'ai donc fait un formulaire dans lequel j'entre le type de lot et un mot clé.

Le probleme c est que lorsque je clique sur "chercher" cela m affiche l erreur suivante :

Erreur SQL !
Resource id #4
You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near 'Resource id #4' at line 1


Voici le code:

<?php 
 
include ('dbconnect.php');
 
if ($typelots == 'Argent')
{ 
$sql=mysql_query("SELECT * FROM listeconcoursArgent WHERE nomconcoursargent LIKE '%$motcle%'") or die('Impossible d insérer les données dans la base'.mysql_error());
 
// on envoie la requête
 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
 
if (!$req)
{
        echo "query = ".$sql."\n";
        echo "mysql_errno = ".mysql_errno($link)."\n";
        echo "mysql_error = ".mysql_error($link)."\n";  
        exit;
} 
 
if (mysql_num_rows($req) > 0)
{
 
        // on fait une boucle qui va faire un tour pour chaque enregistrement
        while($data = mysql_fetch_array($req)) 
        {       
                echo '<table width="352" height="101" border="0">
                                          <tr>
                            <td width="137"><div align="center">'.$data['nomconcoursargent'].'</div></td>
                          </tr>
                </table>';
          }   
}
else
{
        echo "<font color=red size=3></font><b>Aucun jeu concours similaire n'a été trouvé !</b></color>";
}
}
?>


Qu est ce qui cloche car je n arrive pas à voir ou est l erreur...?

Merci
Configuration: Windows XP
Firefox 2.0.0.9

Meilleures réponses pour « Probleme : Erreur mysql » dans :
Duplicate entry '127' for key 1 VoirVous tentez de faire une insertion dans une table de votre base de données MySQL et vous obtenez l'erreur MySQL suivante: Duplicate entry '127' for key 1 Ceci provient très probablement du fait que la clé primaire de votre table est de type TINYINT...
Eviter d'être bloqué en cas d'erreur TOO MANY CONNECTIONS VoirPar défaut, Mysql autorise 100 connexions (150 depuis la version 5.1) au serveur ... Cela signifie que le 101ème utilisateur recevra le message d'erreur "too many connections" ... Si cela vous arrive, quelqu'en soit la raison (site web trop...
MySQL en console sur Windows : désactiver le bip d'erreur VoirLorsque vous utilisez MySQL en console sur Windows, chaque erreur provoque un bip. Pour le désactiver, il vous suffit simplement de rajouter le paramètre -b dans votre chaîne de connexion : mysql -b -h serveur -u utilisateur -p Vos voisins...

1

Playboss, le 13 nov 2007 à 17:36:43

Salut Kokolo,

On dirait que dans ta requête la variable $motcle n'est pas reconnu. Essaye de faire un echo $motcle après ta requête pour voir ce qu'il dit.

Répondre à Playboss

2

Playboss, le 13 nov 2007 à 17:40:43

Ou sinon tu as oublié dans ton code le $connect dans mysql_query() :

/* connection a une base mysql en local */
$connect = mysql_connect("localhost","root","");

/* selection de la base de donnée mysql */
mysql_select_db("votre_base", $connect);

/* la requête. */
mysql_query("Le texte de la requete sql", $connect);

Répondre à Playboss

3

KOKOLO, le 13 nov 2007 à 17:55:35

Bonjour,

J'ai fait un echo de $motcle et cela m affiche bien le motcle entré dans le formulaire...

Concernant la connection a la base, c est traite par le fichier dbconnect.php qui est utilisé pour toutes mes pages ayant besoin de la connection à la base...

Si quelqu un a la solution...Je suis preneur ! lol

Merci encore !

Répondre à KOKOLO

4

Playboss, le 13 nov 2007 à 18:08:02

Ok, erreur de ma part, je suis allé trop vite dans la lecture de ton code pourquoi tu fais 2 fois mysql_query ?


$sql = mysql_query("SELECT * FROM listeconcoursArgent WHERE nomconcoursargent LIKE
'%$motcle%'") or die('Impossible d insérer les données dans la base'.mysql_error());

// on envoie la requête

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

c'est normal qu'il y ai une erreur, dans $req la variable $sql n'est pas bon.

Il faut mettre en premier $sql = "SELECT * FROM listeconcoursArgent WHERE nomconcoursargent LIKE
'%$motcle%'";

Répondre à Playboss

5

 KOKOLO, le 13 nov 2007 à 18:39:42

Bonjour,

Effectivement c est un peu etourdi de ma part lol...

C est bon ca fonctionne maintenant ! :-)

merci et bonne soiree !

Répondre à KOKOLO