Problême résolu ! merci à ceux qui m'ont aidé

Bonjour à tous !
j'ai un gros soucis au niveau de mon code pour ajouter de nouveaux champs dans une base de données : jusqu'à hier mon code marchait nikel mais aujourd'hui il a décidé de plus fonctionner alors que dois-je faire?
Je vous laisse un bout de code :
$nom=$_POST['nom'];
echo '<div id="ecriture1">';

if (strlen($nom) < 1 or strlen($nom) > 4)
{
    echo'Ajout impossible (champs avec 4 caract&egrave;res maximum) !<br/><br/>';
    echo "<a href='acces.php'>&#149; Retour au menu des acc&egrave;s &#149;</a>";
}
else
{
$requete="SELECT idacces, tAcces FROM acces WHERE tAcces='$nom';";
$reponse=mysql_query($requete);
if (mysql_num_rows($reponse)>0)
{
    echo'Ajout impossible, le nom existe d&eacute;j&agrave;!<br/><br/>';
    echo'<div id="ecriture3"';
    echo "<a href='acces.php'>&#149; Retour au menu d'acc&egrave;s &#149;</a>";
    echo'</div>';
}
else
{

$sql="INSERT INTO acces VALUES ('','".$nom."');";

$jeu=@mysql_query($sql,$mysqlLink)or die("Requete incomprise");

if ($jeu==true)
{
	 echo "Vous venez d'ajouter $nom.<br/><br/>";
         $query="SELECT tAcces FROM acces;";
         $result = mysql_query($query) or die("Requete non comprise");
         echo "<table>";
         echo'Comme acc&egrave;s, il y a : <br/>';
         while ($tableau = mysql_fetch_array($result))
         {
            echo'&#149; ';
            echo $tableau['tAcces'] ;
            echo '<br/>';
         }
        echo'<br/><br/>';
        echo'<div id="ecriture3"';
        echo "<a href='acces.php'>&#149; Retour au menu d'acc&egrave;s &#149;</a>";
        echo'</div>';
}
else
{
	echo 'Ajout impossible <br/><br/>';
        echo'<div id="ecriture3"';
        echo "<a href='acces.php'>&#149; Retour au menu d'acc&egrave;s &#149;</a>";
        echo'</div>';
}

echo '</div>';

Quand je teste ça me met requete incomprise...
Merci de votre aide !
Modifié par tiiity (07 Jan 2010 - 17:08)
Bonjour et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien "Aide" qui apparaît tout en haut du forum est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Pour ce qui est de ton problème, il serait plus pratique d'avoir le message d'erreur revoyé par la base de données, l'actuelle étant celui précisé dans le code. Je te laisse chercher dans la doc PHP les fonctions qui permettent de retourner les code et messages d'erreur DB.

Bonne continuation Smiley smile

upload/1-code.gif
Je suis désolée Laurie-Anne, j'avais pas fais attention aux règles.
En ce qui concerne tes remarques comme quoi j'ai fait aucune recherche avant de poster mon article, ce que tu dis n'est pas fondé : je recherche depuis ce matin mais sans résultat... c'est pour ça que je tente de poster mon problème dans un forum !!
L'erreur qui s'affiche actuellement est en effet l'erreur que j'ai marqué dans mon code car il n'y a que ça qui s'affiche !
tiiity a écrit :
En ce qui concerne tes remarques comme quoi j'ai fait aucune recherche avant de poster mon article, ce que tu dis n'est pas fondé : je recherche depuis ce matin mais sans résultat... c'est pour ça que je tente de poster mon problème dans un forum !!
Euh... J'ai pas dis ça, j'ai dis qu'il manquait des informations pour que l'on puisse étudier le problème (et je t'ai indiqué où trouver ces infos)...
Bonjour,

A la fin de tes requêtes ajoute ce bout de code :
or die(mysql_error());
ce qui aura pour effet d'afficher des détails sur les éventuelles erreurs rencontrées.

Exemple :


$reponse = mysql_query("SELECT nom FROM jeux_video") or die(mysql_error());


Exemple tiré du SiteduZero.
Modifié par jQz (07 Jan 2010 - 17:04)
Salut,

concernant tes 2 requêtes PHP tu traites tes 2 variables différemment. Enfin il me semble.

regardes tu écris

$requete="SELECT idacces, tAcces FROM acces WHERE tAcces='$nom';";

ce qui me parait correcte, et ensuite
$sql="INSERT INTO acces VALUES ('','".$nom."');";

pourquoi ta requête ne serait elle pas
$sql="INSERT INTO acces VALUES ('','$nom');";


Bon, ça peut marcher mais c'est pas très logique, si tu regardes le chapitres "La concaténation" du tuto PHP, tu verras que tu fais un amalgame entre les " et les'.


concernant mysql_error(), le tuto de Mathéo concernant le PHP ets vraiment génial mais date un petit peu. Il est conseillé d'utiliser le mysql_error() uniquement pour debugger. Car le haker peut obtenir trop d'infos sur les requetes en créant volontairement une fausse requête.

en fait, c'est un avis partagé Smiley cligne
Modifié par chooky (07 Jan 2010 - 21:11)