Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1760 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  inserer des données dans sql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

inserer des données dans sql

n°828431
nfshp2
Posté le 21-08-2004 à 16:47:52  profilanswer
 

slt,  
jai une table sql qui est la suivante:


Champ     Type    Null   Défaut
id_membre  int(10)  Oui   NULL  
id   varchar(20)  Oui   NULL  
pseudo  varchar(20)  Oui   NULL  
passe   varchar(20)  Oui   NULL  
email   varchar(100)  Oui   NULL  
ville   varchar(200)  Oui   NULL  
titre   varchar(40)  Oui   NULL  
url   varchar(100)  Oui   NULL  
description   text  Oui   NULL  
mat1   varchar(15)  Oui   NULL  
mat2   varchar(15)  Oui   NULL  
note   char(2)  Oui   NULL


 
ma page addinfo


// On commence par vérifier si les champs sont vides
if(empty($titre) OR empty($url) OR empty($description) OR empty($mat1) OR empty($mat2) OR empty($mat2))
    {
    echo '<font color="red">Attention, aucun chanps ne peut rester vide !</font>';
    }
 
// Aucun champ n'est vide, on peut enregistrer dans la table
else      
    {
       // connexion à la base
$db = mysql_connect('sql.free.fr ', '*******', '*****')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  
 
    mysql_select_db('********',$db)  or die('Erreur de selection '.mysql_error());
     
    // on ecris la requete sql  
    $sql = "INSERT INTO membre VALUES('$titre','$url','$description','$mat1','$mat2','$note')";
     
    // on insère les informations du formulaire dans la table
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
 
    // on affiche le résultat pour le visiteur
    echo 'Vos infos on été ajoutées.';
 
    mysql_close();  // on ferme la connexion
    }  
?>  


 
j'obtien un message d'erreur:

Erreur SQL !INSERT INTO membre VALUES('titre','url','description','mat1','mat2','no')
Column count doesn't match value count at row 1


 
que dois faire pour que ca marche? [:airforceone]  
 
 

mood
Publicité
Posté le 21-08-2004 à 16:47:52  profilanswer
 

n°828452
gizmo
Posté le 21-08-2004 à 17:12:37  profilanswer
 

lire n'importe quel tutoriel?

n°828454
nfshp2
Posté le 21-08-2004 à 17:13:54  profilanswer
 

je viens de me faire php debutant, en as tu un autre a me proposer?

n°828457
gizmo
Posté le 21-08-2004 à 17:16:12  profilanswer
 

refais-le.

n°828459
nfshp2
Posté le 21-08-2004 à 17:18:46  profilanswer
 

aller stp, donne moi une piste :jap:

n°828461
gizmo
Posté le 21-08-2004 à 17:21:10  profilanswer
 

piste: apprends à lire aussi les petits caractères.

n°828462
nfshp2
Posté le 21-08-2004 à 17:23:05  profilanswer
 

gizmo a écrit :

piste: apprends à lire aussi les petits caractères.

:??:  :??:

n°828811
motra
J'apprends tous les jours
Posté le 22-08-2004 à 12:37:12  profilanswer
 

J'ai remarqué que ton point-virgule (;) est à l'extérieur des doubles quote, essaie de décaler les (" ) après : '$note');".
Si cela ne marche toujours pas.. Le message d'erreur laisse supposer deux choses :
// on ecris la requete sql  
    $sql = "INSERT INTO membre VALUES('$titre','$url','$description','$mat1','$mat2','$note')";
 
(1) : soit tu insères plus de valeurs que tu as de colonnes.
c-à-d que tu as dans ta table MEMBRE + ou - 6 valeurs à insérer, vérifie alors le nombre de colonnes dans ta table MEMBRE le le nombre de valeurs que tu veux insérer.
(2) soit tu insères tes valeurs en ne respectant pas l'ordre et le type.
Cordialement

n°828815
nfshp2
Posté le 22-08-2004 à 12:40:27  profilanswer
 

merci bcq, jai trouvé, il faut mettre '' quand on n'insert rien dedans  
 
jai une table avec 12 valeurs, et je ne fais appelle qua 6 d'entre elles, il faut donc mettre insert.... '$balabal', '','', '$blalba',....

n°828842
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-08-2004 à 13:00:48  profilanswer
 

insert into table (noms champs) values (valeurs)
 
ca te permet d'insérer dans une table sans mettre des valeurs dans tous les champs. deplus, le jour où l'odre des champs change, ce système ne plante pas, contrairement à celui que tu utilise.
 
insert into table values (valeurs) est à proscrire de tout code.

mood
Publicité
Posté le 22-08-2004 à 13:00:48  profilanswer
 

n°828879
nfshp2
Posté le 22-08-2004 à 13:36:27  profilanswer
 

Arjuna a écrit :

insert into table (noms champs) values (valeurs)
 
ca te permet d'insérer dans une table sans mettre des valeurs dans tous les champs. deplus, le jour où l'odre des champs change, ce système ne plante pas, contrairement à celui que tu utilise.
 
insert into table values (valeurs) est à proscrire de tout code.


 
 :jap:  :jap:  :jap:

n°828901
pascal_
Posté le 22-08-2004 à 14:24:42  profilanswer
 

Il y a aussi la syntaxe :

INSERT INTO TABLE
SET toto='titi',
toto2='titi2;


que j'aime bien car pour faire ensuite une requête update, il suffit juste de modifier la première ligne et d'ajouter un WHERE, et non de se retaper une requête entière...


Message édité par pascal_ le 22-08-2004 à 14:25:02
n°828919
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-08-2004 à 15:32:13  profilanswer
 

pascal_ a écrit :

Il y a aussi la syntaxe :

INSERT INTO TABLE
SET toto='titi',
toto2='titi2;


que j'aime bien car pour faire ensuite une requête update, il suffit juste de modifier la première ligne et d'ajouter un WHERE, et non de se retaper une requête entière...


sauf que je ne suis pas sûr que ce soit très standard comme syntaxe.
 
à mon avis, c'est à proscrire dans le cas d'une appli type site web, qui peut, pour diverses raisons, changer de base de données (contraintes d'hébergement, montée en charge, ajout de fonctionnalités nécessitant un autre SGBD, changement de plateforme, etc.)

n°828954
pascal_
Posté le 22-08-2004 à 16:39:49  profilanswer
 

Arjuna a écrit :

sauf que je ne suis pas sûr que ce soit très standard comme syntaxe.
 
à mon avis, c'est à proscrire dans le cas d'une appli type site web, qui peut, pour diverses raisons, changer de base de données (contraintes d'hébergement, montée en charge, ajout de fonctionnalités nécessitant un autre SGBD, changement de plateforme, etc.)


 
bon ben si c'est pas standard  [:jofission]  
 
HS : qqun à un lien vers le standard SQL ?

n°828967
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-08-2004 à 17:19:12  profilanswer
 

J'ai pas lu, mais à priori ça doit être pas mal :
 
http://webapp.progress.com:6336/dy [...] __BookView

n°828968
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-08-2004 à 17:20:11  profilanswer
 
n°828989
pascal_
Posté le 22-08-2004 à 18:05:31  profilanswer
 

Merci.
 
J'ai trouvé un SQL validator, pour sql92 sql99 & sql2003 (j'était même pas au courant que c'était sortit ça [:figti] ) : http://developer.mimer.se/validator/index.htm

n°829002
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-08-2004 à 18:34:19  profilanswer
 

reste en SQL92, parceque déjà qu'il doit y avoir 2 SGBD à tout casser qui sont 100% compatible avec, j'imagine même pas les autres :D

n°829007
nfshp2
Posté le 22-08-2004 à 18:37:58  profilanswer
 

mon post a été intéressant je vois :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  inserer des données dans sql

 

Sujets relatifs
comment garder les données lors de changements de pagesTri de donnees
pb: écriture de données dans un formulaire à partir d'une popupextraire des données d'un fichier texte et les inserer dans une BDD
extraire des données d'un fichier texte et les inserer dans une BDDcomment inserer des données dans un fichiers excel en asp
[mysql] inserer des données provenant d'une autre tableInsérer des données dans un tableau ...
[JSP] pb insérer données formulaire ds access[ PHP / Oracle ] Insérer les données d'un fichier texte
Plus de sujets relatifs à : inserer des données dans sql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR