Impossible d'alimenter ma table sql :( syntaxe ? - PHP - Programmation
Marsh Posté le 23-02-2005 à 14:57:14
"int" est un nombre. Ce n'est pas une chaine de caractére.
'' est une chaine de caractére, pas un nombre.
Quand une requête ne marche pas, il faut toujours afficher le message d'erreur retourné par la base de donnée, ca permet d'avoir une indication du probléme plustôt que se taper la tête contre un mur pendant des heures.
Marsh Posté le 23-02-2005 à 14:59:56
+1 pour le message d'erreur...mais pour la première remarque, s'il a tout passé en varchar pas de pb avec la requête qu'il génère (tant que la taille est bonne).
Marsh Posté le 23-02-2005 à 15:01:03
Enfin là, je viens de lancer créer ta table et d'exécuter ton INSERT et j'ai rencontré aucun problème. (mySQL 4.0)...
Marsh Posté le 23-02-2005 à 15:02:34
alors, je ne sais pas comment recuperer le message d'erreur... si j'essaie par la query window de phpmyadmin ca marche
avec cette meme requete (enfin une bidon de la meme maniere), mais toujours pas via mon code php :
truc étrange, le resultat de la requete est :
INSERT INTO archives( classe, matiere, DATE, numero, note, professeur, eleve, |
date et type sont passés en majuscule... on n'a pas le droit d'appeler un champ comme ca ou quoi ?
Marsh Posté le 23-02-2005 à 15:03:45
C'est pas top d'utiliser ces terme : j'imagine que ce sont des champs réservés.
Tu peux pas filer ton code php plutôt ?
Marsh Posté le 23-02-2005 à 15:06:01
En effet, je garderais pas des noms de champs comme ça...
Marsh Posté le 23-02-2005 à 15:06:40
et pour afficher l'erreur, mysql_error().
Marsh Posté le 23-02-2005 à 15:07:47
date est un mot réservé, type aussi il me semble.
Donc non, t'y a pas droit sauf si tu les met entre " ' " (enfin, pas ce caractére là mais celui penché du haut gauche vers le bas droit).
C'est vrai, j'y avais pas pensé, mais vu les noms des colontes, ca peut pas marché sans ces caractéres là.
Marsh Posté le 23-02-2005 à 15:30:30
omega2 a écrit : date est un mot réservé, type aussi il me semble. |
`TYPE`([Alt Gr] + [7])
autre chose perchut2 : moi je peux te planter ta requete en mettant un quote en plein milieu d'une valeur
utilises addslashes()
Marsh Posté le 24-02-2005 à 00:47:27
alors, j'ai trouvé pourquoi ca marchait pas, mais je vous dirai pas pourquoi, j'ai trop honte (merci skeye pour le mysql_error() )
et le ` n'y est pour rien pour ce problème là, pas plus que le nom des colonnes
spike > effectivement, je les avais ici oubliés, mais je les mets d'habitude
Marsh Posté le 24-02-2005 à 07:50:32
perchut2 a écrit : alors, j'ai trouvé pourquoi ca marchait pas, mais je vous dirai pas pourquoi, j'ai trop honte |
Même pas drôle!
Marsh Posté le 24-02-2005 à 10:14:00
Citation : alors, j'ai trouvé pourquoi ca marchait pas, mais je vous dirai pas pourquoi, j'ai trop honte (merci skeye pour le mysql_error() ) |
remplir ton $sql c'est bien, mais si tu n'a pas de connection ou que tu ne fait pas de mysql_querry, ça sert pas à grand chose...
J'ai bon pour la connerie non racontable ou c'est pire que ça ????
Marsh Posté le 24-02-2005 à 13:11:14
Xav_ a écrit :
|
manquait le
include "admin/connexion.php"; |
Marsh Posté le 24-02-2005 à 13:13:36
perchut2 a écrit : manquait le
|
Marsh Posté le 24-02-2005 à 14:08:01
le prend surtout pas mal,
le tout c'est de pas le refaire, ou j'apelle la
Marsh Posté le 23-02-2005 à 14:22:24
Bonjours, j'ai un pb avec mon code php ; je veux insérer des données dans cette table (base mysql) :
CREATE TABLE `archives` (
`id` int(11) NOT NULL auto_increment,
`classe` varchar(32) NOT NULL default '',
`matiere` varchar(32) NOT NULL default '0',
`date` varchar(32) NOT NULL default '',
`numero` varchar(32) NOT NULL default '0',
`note` varchar(32) NOT NULL default '0',
`professeur` varchar(32) NOT NULL default '',
`eleve` varchar(32) NOT NULL default '',
`type` varchar(32) NOT NULL default '',
`depositaire` varchar(32) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
je le fais avec cette commande:
ce qui me donne ce string sql :
je n'arrive pas à trouver le probleme
en rajoutant id (la clef primaire) et '' dans les values, ca ne fait rien (de toute facon id est en auto increment)
je pensais que c'était un type de données qui déconnait, alors j'ai tout mis en varchar, et ca ne marche toujours pas
Voila, si quelq'un a une idee... ?
Merci pour votre aide