Partage
  • Partager sur Facebook
  • Partager sur Twitter

la bonne syntaxe dans un insert into

bin ça alors !

Sujet résolu
    21 novembre 2010 à 18:21:57

    Bonsoir les zéros !
    j'ai réalisé un upload d'un fichier .csv en local et qui fonctionne bien. Je le recopie en faisant attention et j'ai cette erreur :

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'tables (id,nom,prenom,classe) VALUES('1','duranr','louis','cm1 ')' at line 1

    Alors ça je n'avais pas encore eu !
    voici mon code:
    et merci pour le coup de pattes !

    </code>
    <?php
    
    	 
    	  include ("connexion_bdd_eleves.php");
    
    
    //=========================
    // Traitement des donnees
    //=========================
    
    //recupere le nom du fichier indiqué par l'user
    $fichier=$_FILES["userfile"]["name"];
    
    // ouverture du fichier en lecture    
    if ($fichier)
    	{
    	//ouverture du fichier temporaire 
    	$fp = fopen ($_FILES["userfile"]["tmp_name"], "r"); 
    	}
    else{ 
    	// fichier inconnu 
    	?>
    	<body>
    
    	<p align="center" >- Importation échouée -</p>
    	<p align="center" ><B>Désolé, mais vous n'avez pas spécifié de chemin valide ...</B></p>
    	<?php
      	exit(); 
    	}
    
    ?>
    
    			
    <?php
    
    // declaration de la variable "cpt" qui permettra de compter le nombre d'enregistrement réalisé
    $cpt=0;
    // importation  
      
    while (!feof($fp))
    {
      $ligne = fgets($fp,8192);  
      // on crée un tableau des élements séparés par des points virgule
      $liste = explode(";",$ligne); 
      // premier élément
      
      $liste[0] = ( isset($liste[0]) ) ? $liste[0] : Null;
      $liste[1] = ( isset($liste[1]) ) ? $liste[1] : Null;
      $liste[2] = ( isset($liste[2]) ) ? $liste[2] : Null;
      $liste[3] = ( isset($liste[3]) ) ? $liste[3] : Null;
    
    
      	$id=$liste[0]; 
    	$nom=$liste[1];
        $prenom=$liste[2];
        $classe=$liste[3];
        
      	// pour eviter qu un champs "nom" du fichier soit vide
      	
    	if ($id!='')
    		
    		{
    		
    		// nouvel ajout, compteur incrémenté
    		$cpt++; 
    		
         
    		// requete et insertion ligne par ligne 
    
    
    		$query = "INSERT INTO tables (id,nom,prenom,classe) VALUES('$id','$nom','$prenom','$classe')";  
     		$result= mysql_query($query) or die(mysql_error());
    
    	
    		echo $cpt; echo "---";echo $id; echo $nom; echo $prenom; echo $classe;
    
    		{
    			}
    			
    		}
    }
    // fermeture du fichier
    
    fclose($fp);
    
    
    echo "Nombre d'enregistrements uploader : "; echo $cpt;
    
    
    mysql_close();
    
    ?>		
    
    <code type="php">
    







    • Partager sur Facebook
    • Partager sur Twitter
      21 novembre 2010 à 18:26:19

      Ce message parle du PHP. Il serait plus judicieux de le poster dans le forum approprié afin d'avoir des réponses.
      • Partager sur Facebook
      • Partager sur Twitter
        21 novembre 2010 à 18:34:04

        Salut,

        scientifix94 a raison, j'ai déplacé le topic dans la rubrique PHP "Base de données" (edit : BDD et non PHP, merci NoHaR ;) ).
        • Partager sur Facebook
        • Partager sur Twitter
          21 novembre 2010 à 18:38:46

          Et là?
          <?php
          
          	 
          	  include ("connexion_bdd_eleves.php");
          
          
          //=========================
          // Traitement des donnees
          //=========================
          
          //recupere le nom du fichier indiqué par l'user
          $fichier=$_FILES["userfile"]["name"];
          
          // ouverture du fichier en lecture    
          if ($fichier)
          	{
          	//ouverture du fichier temporaire 
          	$fp = fopen ($_FILES["userfile"]["tmp_name"], "r"); 
          	}
          else{ 
          	// fichier inconnu 
          	?>
          	<body>
          
          	<p align="center" >- Importation échouée -</p>
          	<p align="center" ><B>Désolé, mais vous n'avez pas spécifié de chemin valide ...</B></p>
          	<?php
            	exit(); 
          	}
          
          ?>
          
          			
          <?php
          
          // declaration de la variable "cpt" qui permettra de compter le nombre d'enregistrement réalisé
          $cpt=0;
          // importation  
            
          while (!feof($fp))
          {
            $ligne = fgets($fp,8192);  
            // on crée un tableau des élements séparés par des points virgule
            $liste = explode(";",$ligne); 
            // premier élément
            
            $liste[0] = ( isset($liste[0]) ) ? $liste[0] : Null;
            $liste[1] = ( isset($liste[1]) ) ? $liste[1] : Null;
            $liste[2] = ( isset($liste[2]) ) ? $liste[2] : Null;
            $liste[3] = ( isset($liste[3]) ) ? $liste[3] : Null;
          
          
            	$id=$liste[0]; 
          	$nom=$liste[1];
              $prenom=$liste[2];
              $classe=$liste[3];
              
            	// pour eviter qu un champs "nom" du fichier soit vide
            	
          	if ($id!='')
          		
          		{
          		
          		// nouvel ajout, compteur incrémenté
          		$cpt++; 
          		
               
          		// requete et insertion ligne par ligne 
          
          
          		$query = "INSERT INTO tables (id,nom,prenom,classe) VALUES('".$id."','".$nom."','".$prenom."','".$classe."')";  
           		$result= mysql_query($query) or die(mysql_error());
          
          	
          		echo $cpt; echo "---";echo $id; echo $nom; echo $prenom; echo $classe;
          
          		{
          			}
          			
          		}
          }
          // fermeture du fichier
          
          fclose($fp);
          
          
          echo "Nombre d'enregistrements uploader : "; echo $cpt;
          
          
          mysql_close();
          
          ?>
          
          • Partager sur Facebook
          • Partager sur Twitter
            21 novembre 2010 à 18:48:13

            tables est un mot-clé réservé, nomme ta table autrement.
            • Partager sur Facebook
            • Partager sur Twitter
              26 novembre 2010 à 10:27:33

              UN grand merci pour la dernière réponse qui est la bonne, tables est un mot réservé !
              • Partager sur Facebook
              • Partager sur Twitter

              la bonne syntaxe dans un insert into

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown