Requête qui rend fou

Résolu
cs_clemg Messages postés 2 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 3 février 2009 - 2 févr. 2009 à 23:23
cs_clemg Messages postés 2 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 3 février 2009 - 3 févr. 2009 à 10:40
Bonjour à tous,

Voici mon problème : j'essaye de réaliser une requête toute simple, comme il y en a sur toutes les pages de mon site : insérer une entrée dans une base de donnée. Mais celle là, ne marche pas. la voici :

mysql_query ("INSERT INTO utilisateurs (nom, date_inscription, mdp, courriel, identifiant) VALUES ('$nom', '$date', '$mdp', '$courriel', '$identifiant')", $link);

Les variables $nom, $date... sont pleines (je les ai fait afficher pour vérifier), et les autres requêtes SQL de la page marchent. Il y a peut-être un conflit avec une autre justement, voici le contexte :

$select=mysql_query ("SELECT*FROM utilisateurs", $link);
$identifiant=mysql_num_rows ($select)+1;
// Celle-ci marche

mysql_query ("INSERT INTO utilisateurs (nom, date_inscription, mdp, courriel, identifiant) VALUES ('$nom', '$date', '$mdp', '$courriel', '$identifiant')", $link);
// Celle-ci ne marche pas (????)

mysql_query ("CREATE TABLE user_$identifiant (titre VARCHAR(60) NOT NULL, auteur VARCHAR(60) NOT NULL, note VARCHAR(1) NOT NULL,avis VARCHAR(2000) NOT NULL,type VARCHAR(50) NOT NULL,categorie VARCHAR(50) NOT NULL )", $link);
// Celle-ci marche

Si vous voyez une erreur...ça me rend fou !

Merci !

2 réponses

kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
3 févr. 2009 à 08:23
Salut,

Déjà, si tu travaille sur la même DB, tu dois pouvoir virer le $link de :

mysql_query ("INSERT INTO utilisateurs (nom, date_inscription, mdp,
courriel, identifiant) VALUES ('$nom', '$date', '$mdp', '$courriel',
'$identifiant')", $link);

Ca ne va pas résoudre ton pb mais ça ne sert à rien de le mettre.

Ensuite affiche l'erreur reportée par la requête :
$sql = "INSERT INTO utilisateurs (nom, date_inscription, mdp,
courriel, identifiant)
VALUES ('$nom', '$date', '$mdp', '$courriel',
'$identifiant')";
if (false === mysql_query ($sql)) die(mysql_error().'
'.$sql);

Cordialement,

Kohntark-
3
cs_clemg Messages postés 2 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 3 février 2009
3 févr. 2009 à 10:40
Salut Kohntark,

Merci pour le $link, je le recopiais bêtement à la fin de chaque requête :)

Super ! J'ai jamais autant ramé pour une erreur aussi bête : c'était tellement évident pour moi d'avoir un champ 'nom' dans ma table, que j'ai du oublier de le créer ! L'erreur affichée était du type "Pas de champ 'nom'"...
Bref, même en vérifiant, je l'avais pas vu.

Merci encore !

Cordialement

CG
0