Erreur INSERT INTO !

Fermé
Azepo - 2 déc. 2012 à 18:20
dwieser Messages postés 225 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 29 janvier 2013 - 15 déc. 2012 à 02:01
Bonjour,
je ne vois pas l'erreur ! Pourtant le server me dis qu'as la ligne 6 il y as ceci :
Notice: Undefined variable: titre in D:\wamp\www\librydoc\admin\adnotices.php on line 6
"titre"(il me met l'erreur pour chaque $) Pourquoi ?

<?php       
mysql_connect("localhost", "librydoc","31p71h49" );//on se connecte à MySQL    
mysql_select_db("librydoc"); //On selectionne la base    
 //on commence par récupérer les valeurs des champs    
mysql_query("INSERT INTO notices (titre, auteur, dtp, editeur, collection, collation, isbn, ncol, nature, genre, genre2, prix, mcl, description)
VALUES ('','$titre','$auteur''$dtp','$editeur','$collection''$collation','$isbn','$ncol''$nature','$genre','$genre2''$prix','$mcl','$description')");  
mysql_close();// facultative, on ferme la connexion    
?>    

Merci.

4 réponses

astuces72 Messages postés 7762 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 15 novembre 2024 1 639
Modifié par astuces72 le 2/12/2012 à 18:47
enlève '',
('$titre','$auteur''$dtp','$editeur','$collection''$collation','$isbn','$ncol''$nature','$genre','$genre2''$prix','$mcl','$description')");
0
Toujours l'erreur !
0
astuces72 Messages postés 7762 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 15 novembre 2024 1 639
2 déc. 2012 à 18:47
enlève '',
('$titre','$auteur''$dtp','$editeur','$collection''$collation','$isbn','$ncol''$nature','$genre','$genre2''$prix','$mcl','$description')");
0
Idem voici le code
<?php       
mysql_connect("localhost", "librydoc","31p71h49" );//on se connecte à MySQL    
mysql_select_db("librydoc"); //On selectionne la base    
 //on commence par récupérer les valeurs des champs    
mysql_query("INSERT INTO notices VALUES($titre$auteur$dtp$editeur$collection$collation$isbn$ncol$nature$genre$genre2$prix$mcl$description)");  
mysql_close();// facultative, on ferme la connexion    
?> 
0
Notice: Undefined variable: titre in D:\wamp\www\librydoc\admin\adnotices.php on line 11

Voici l'erreur retourné pour chaque valeur'titre, auteur....)
0
astuces72 Messages postés 7762 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 15 novembre 2024 1 639
Modifié par astuces72 le 3/12/2012 à 07:59
tu ne t'es pas planté dans tes nom de variable dans ta base ?
sur toutes les variables ça me semble quand même impossible !!!
tu as bien une table au moins avec "notices" comme nom ?
0
astuces72 Messages postés 7762 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 15 novembre 2024 1 639
2 déc. 2012 à 20:44
nan mais enlève que le 1er qui doit correspondre à un id unique de ta base, que tu as du mettre !

<?php
mysql_connect("localhost", "librydoc","31p71h49" );//on se connecte à MySQL
mysql_select_db("librydoc"); //On selectionne la base
//on commence par récupérer les valeurs des champs
mysql_query("INSERT INTO notices (titre, auteur, dtp, editeur, collection, collation, isbn, ncol, nature, genre, genre2, prix, mcl, description)
VALUES ('$titre','$auteur''$dtp','$editeur','$collection''$collation','$isbn','$ncol''$nature','$genre','$genre2''$prix','$mcl','$description')");
mysql_close();// facultative, on ferme la connexion
?>

ou ça

<?php
mysql_connect("localhost", "librydoc","31p71h49" );//on se connecte à MySQL
mysql_select_db("librydoc"); //On selectionne la base
//on commence par récupérer les valeurs des champs
mysql_query("INSERT INTO notices VALUES ('', '$titre','$auteur''$dtp','$editeur','$collection''$collation','$isbn','$ncol''$nature','$genre','$genre2''$prix','$mcl','$description')");
mysql_close();// facultative, on ferme la connexion
?>
0
Bonjour

La requête que tu avais écrite dans ton premier message était presque correcte, il n'y avait à corriger que la chaine vide dans VALUES qui ne correspond à aucun des champs déclarés .
Le message d'erreur le disait : la variable $titre n'est pas définie. C'est une erreur PHP, pas une erreur mySQL.
Il ne faut pas confondre les variables PHP et les noms des champs d'une table de base de données. Même si souvent on donne le même nom car c'est plus pratique.
Dans ton cas, d'où vient la variable $titre, qui contient la valeur que tu veux donner au champ titre ? De nulle part, on ne voit pas avant de $titre=quelquechose. Donc cette variable est bien indéfinie comme le dit le message d'erreur.
Si ces valeurs sont cesées venir d'un formulaire, tu devrais avoir (par exemple) :
if (isset($_POST['titre'])) { // si c'est bien un envoi de formulaire 
  $titre=$_POST['titre']; 
  $auteur=$_POST['auteur']; 
  ... 
  // et seulement après, ta requête, quand toutes tes variables PHP sont définies. 
mysql_connect("localhost", "librydoc","31p71h49" );//on se connecte à MySQL    
mysql_select_db("librydoc"); //On selectionne la base    
 //on commence par récupérer les valeurs des champs    
mysql_query("INSERT INTO notices (titre, auteur, dtp, editeur, collection, collation, isbn, ncol, nature, genre, genre2, prix, mcl, description)
VALUES ('$titre','$auteur''$dtp','$editeur','$collection''$collation','$isbn','$ncol''$nature','$genre','$genre2''$prix','$mcl','$description')");  
mysql_close();// facultative, on ferme la connexion    
?>    
0
dwieser Messages postés 225 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 29 janvier 2013 9
Modifié par dwieser le 15/12/2012 à 02:38
bonjour,

attention à la ponctuation
tu devrais prendre quelques cours...............................

j'ai retravaillé ton code

mais quelque chose m'interpelle tu travaille sur wamp
je l'ai vu au dessus

avec wamp tu dois créer une base de données
je doute que tu l'es faite


mysql_connect('localhost', 'librydoc','31p71h49');

ici localhost ok après tu mets 'librydoc' si tu as installé wamp par default c'est 'root' et après 31p71..... ça le mot de passe QUE TU AS MI OK

mysql_select_db('librydoc'); pour ici librydoc, c'est le nom de ta base de données
ce n'est pas le nom d'un dossier ou voir d'un fichier, ça rien à voir


******************************
<?php

mysql_connect('localhost', 'root','31p71h49');

mysql_select_db('librydoc');

*************************************
composition tu devrais avoir une base de nom "librydoc"
tu as une table de nom "notices"
et après tu dois avoir 14 colonnes
********************************************

<?php   

mysql_connect('localhost', 'librydoc','31p71h49');    
   
mysql_select_db('librydoc');   

mysql_query('insert into notices (titre, auteur, dtp, editeur, collection, collation, isbn, ncol, nature, genre, genre2, prix, mcl, description)  
value ("'.$titre.'", "'.$auteur.'", "'.$dtp.'", "'.$editeur.'", "'.$collection.'", "'.$collation.'", "'.$isbn.'", "'.$ncol.'", "'.$nature."', "'.$genre.'", "'.$genre2.'", "'.$prix.'", "'.$mcl.'", "'.$description.'")');    
mysql_close();      
?>      





pour creer ta base de données ouvre ton navigateur pour aller sur internet
et tu remplaces htpp:// MACHIN et tu écris localhost puis entrée
après tu choisis PHPMYADMIN

puis après si tu ne sais pas, tu sais quoi faire......................à plus

Moi je plante et toi tu creuses !!!
0