[easy debug] MySQL et INSERT INTO

MySQL et INSERT INTO [easy debug] - PHP - Programmation

Marsh Posté le 19-11-2002 à 15:05:22    

bonjour, voila deux jours que je me casse la tête à faire des millions d'essais et je n'arrive à rien. Je veux juste insérer deux valeurs dans une table. Rien de plus simple me direz-vous? Moi aussi, j'avais d'ailleurs parfaitement réussi auparavant, mais j'ai lu et relu les aides les sites pour débutants, la doc etc, je n'arrive pas à trouver la sourve du problème, c'est pourquoi je viens vers vous !
 

Code :
  1. <?
  2.         $dbServername  = "mysql.monprovider.com";
  3. $dbLogin  = "monlogin";
  4. $dbName   = "base";
  5. $dbPassword  = "motdepasse";
  6.    
  7. $dbh = mysql_connect($dbServername,$dbLogin,$dbPassword) or die ("probleme de connexion" ); 
  8. mysql_select_db($dbName,$dbh) or die ("probleme dans selection base" );   
  9. //création de la table :  
  10. $query  = "CREATE TABLE test (";
  11. $query .= "a tinyint(4) NOT NULL auto_increment,";
  12. $query .= "b varchar(5) default NULL,";
  13. $query .= "c varchar(5) default NULL,";
  14. $query .= "PRIMARY KEY  (a)";
  15. $query .= " ) TYPE=MyISAM;";
  16. $result = mysql_query($query) ;
  17. //insertion des données
  18. $query1 = "INSERT INTO 'test' (b,c) VALUES ('cinq','six')" ;
  19. $result1 = mysql_query($query1) ;
  20. echo $dbh ;
  21. //déconnexion
  22.   mysql_close($dbh);
  23.   $dbh=0;
  24. ?>


 
la table se crée sans problème, elle a la structure voulue, mais aucune donnée ne s'y insère. Pourtant quand j'exécute la requête suivante dans phpmyadmin, les données sont effectivement insérées :  

Code :
  1. INSERT INTO 'test' (b,c) VALUES ('cinq','six')


  • la table est créée : j'en déduis que la connexion est active (d'ailleurs $dbh retourne Resource id #1)
  • la requête fonctionne dans phpmyadmin, ben mince alors !

Quelle est mon erreur?
 
merci :jap:


Message édité par flyjodel le 19-11-2002 à 15:17:18
Reply

Marsh Posté le 19-11-2002 à 15:05:22   

Reply

Marsh Posté le 19-11-2002 à 15:21:42    

Normalement il ne faut pas de guillemets autour du nom de la table
Je sais pas si ça peut être lié à ça ou pas...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-11-2002 à 15:24:16    

INSERT INTO test VALUES(null, 'cinq', 'six';);

Reply

Marsh Posté le 19-11-2002 à 16:46:16    

ces deux corrections n'ont aucun effet, d'ailleurs j'avais déjà testé auparavant... Pour ce qui est des guillemets j'ai tenté toutes les combinaisons possibles.
 
Mais mon code est bon n'est-ce pas? aucune grosse erreur qui vous saute aux yeux? Je suis désespéré !

Reply

Marsh Posté le 19-11-2002 à 16:52:18    

la query est ok sans le 'test'
 
INSERT INTO test (b,c) VALUES ('cinq','six';)
 
le probleme doit etre ailleurs.
si cest easyphp, utilise phpmyadmin pour tester tes requetes.


Message édité par beleg le 19-11-2002 à 16:53:20
Reply

Marsh Posté le 19-11-2002 à 16:57:33    

bon, je suis vraiment nul ou alors un démon habite mon hébergeur, mais n'étant pas supersticieux je penche plutôt pour le première solution...
 
je viens de modifier avec

Code :
  1. $query1 = "INSERT INTO test (b,c) VALUES ('cinq','six')" ;


et ça marche. Pourtant juste avant en enlevant les apostrophes autour de 'test' ça ne fonctionnait pas.. j'ai du oublier de télécharger le fichier sur le serveur, je ne vois pas d'autre raison. Enfin ça semble résolu, j'ai vraiment eu les boules. Merci de votre aide, et encore désolé pour le dérangement, mais ça me semblait vraiment étrange !
:jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed