Création d'une table en php

Livvie -  
jeremy.s Messages postés 1248 Statut Membre -
Salut à tous j'essaye de créer une table avec php mais je rencontre l'erreur suivante :
ERREUR : Array ( [0] => 42000 [1] => 1064 [2] => 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 'LONBLOB NOT NULL , 'Disponibilite' VARCHAR(100) NOT NULL , 'Descriptio' at line 10 ) 1
voici le code de création de la table "
     //création de table 
	 
   $req = $bdd1->exec("CREATE TABLE 'client_produit'(
    'id' INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    'Categorie' VARCHAR(50) NOT NULL ,
    'Nom' TEXT NOT NULL ,
    'Marque' VARCHAR(100) NOT NULL ,
    'Taille' VARCHAR(50) NOT NULL ,
    'couleur' INT NOT NULL ,
    'prix' DOUBLE NOT NULL,
    'reference' VARCHAR(255) NOT NULL ,
    'Image' LONBLOB NOT NULL ,
    'Disponibilite' VARCHAR(100) NOT NULL ,
    'Description' VARCHAR(100) NOT NULL
)");

si quelqu'un peut m'aider je serais très reconnaissant :)

11 réponses

  1. jeremy.s Messages postés 1248 Statut Membre 79
     
    Salut !

    " 'Image' LONBLOB NOT NULL , "
    LONGBLOB plutot non ?
    0
  2. Livvie
     
    Salut merci pour la reponse ce deja reglée mais j'ai encore une problème c'est quand j'essaye d'insérer dans la table il m'affiche l'erreur suivante
    ( ! ) Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in D:\wamp\www\Tests\AjouterProduit.php on line 58
    Voila le code d'insertion
     $suery='INSERT INTO client_produit VALUES ('
       '" . $_POST["Catégorie"] . "' ,
        '" . $_POST["Nom"] . "' ,
    	 '" . $_POST["Marque"] . "' ,
    	  '" . $_POST["Taille"] . "' ,
    	   '" . $_POST["Couleur"] . "' ,
    	    '" . $_POST["Prix"] . "' ,
    		 '" . $_POST["Réference"] . "' ,
    		  '" . $_POST["Image"] . "' ,
    		  '" . $_POST["Disponibilité"] . "' ,
    		  '" . $_POST["Description"] . "'
       ')';
    
       $nbr = $bdd->exec($query);
    
    0
  3. jeremy.s Messages postés 1248 Statut Membre 79
     
    Tu utilises quoi comme objet pour faire tes opérations en base de données ?
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. jeremy.s Messages postés 1248 Statut Membre 79
     
    $suery='INSERT INTO client_produit VALUES (
    ":ca" , ":nom" , ":mar" , ":tai", :cou, :pr , ":ref" , ":img" , ":dispo" , ":des")';
    $req = $bdd->prepare($suery);
    $q = array(":ca"=> $_POST["Catégorie"], ":nom"=>$_POST["Nom"], ":mar"=> $_POST["Marque"], ":tai"=>$_POST["Taille"], ":cou"=>$_POST["Couleur"], ":pr"=> $_POST["Prix"], ":ref"=> $_POST["Réference"], ":img"=> $_POST["Image"], ":dispo"=> $_POST["Disponibilité"], ":des"=> $_POST["Description"]);
    $nbr = $req->execute($q);

    Essaye ca !

    Jérémy
    0
  6. Livvie
     
    bon merci jeremy tt va bien mais lor de la validation de l'insertion les erreurs suivante apparaitrent :

    "( ! ) Notice: Undefined index: Image in D:\wamp\www\Tests\AjouterProduit.php on line 46"

    "( ! ) Fatal error: Call to undefined method PDO::execute() in D:\wamp\www\Tests\AjouterProduit.php on line 47"

    :(
    0
  7. jeremy.s Messages postés 1248 Statut Membre 79
     
    Pour la première erreur, il doit y avoir un probème avec ce que tu récupères en POST, vérifie bien le nom de ton input pour l'image !

    Ensuite pour la deuxieme, il faut que je relise j'ai du faire une erreur quelque part
    La doc si jamais tu veux regardé les exemples :
    http://www.php.net/manual/fr/pdostatement.execute.php
    0
  8. Livvie
     
    Salut d'abord je vous remerciez pour vos aide
    bon voila je fais un autre exemple ou tt va bien mais l'insertion ne se fait pas au niveau de la base de donnée voila ce que je fait
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title> Ajout d'une nouvelle Magasin</title>
           <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       </head>
        
       <body>
         <?php
        // connexion 
    	try
    {
        $bdd = new PDO("mysql:host=localhost;", "root", "");
    }
    catch (Exception $e)
    {
            die('Erreur : ' . $e->getMessage());
    }
          //création d'une base de donnée
    $sql = $bdd->query('CREATE DATABASE magasin_database'); 
    //connexion à la base de donnée my_database
    $bdd1 = new PDO("mysql:host=localhost; dbname=magasin_database", "root", "");
    
         //création de table 
    	  $req = $bdd1->exec("CREATE TABLE 'client_Magasin'(
        'id' INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
        'Nom' VARCHAR(50) NOT NULL ,
        'Lieu' TEXT NOT NULL ,
        'Horraires' VARCHAR(100) NOT NULL 
       
    )");
     //emplir la table 
      if (isset($_POST["BT_Envoyer"]))
    {
      
     $suery='INSERT INTO client_Magasin VALUES ( 
     ":nom" , ":lieu" , ":Horraires")';
    $req = $bdd->prepare($suery);  
    $req->bindParam(':nom', $_POST["Nom"]);
    $req->bindParam(':lieu', $lieu);
    $req->bindParam(':Horraires', $_POST["Horraires"]);
    $req->execute();
    }
    	 
    
    ?>
      <em><h1> Ajouter Magasin</h1></em>
      <form action="magasin.php" method="post">
       <em>Nom du Magasin</em><input type="text" name="Nom"/><br><br>
      <em> Lieu du Magasin</em><input type="text" name="Lieu"/><br><br>
      
      <em>Horraires de travail </em><input type="text" name="Horraires"/><br><br>
      <input type="submit" name="BT_Envoyer" value="Valider" />
     
       
    </form>
    </body>
       
       
       
       
       
      
    
    0
  9. jeremy.s Messages postés 1248 Statut Membre 79
     
    Pourquoi la création de base et de table tu ne le fais pas dans phpmyadmin à la main ?

    Ensuite, au niveau du execute :
    $req->execute() or die(print($req->perror())));
    Pour voir les erreurs de requete !
    0
  10. Livvie
     
    voila l'erreur qui apparait maintenant
    "( ! ) Fatal error: Call to undefined method PDOStatement::perror() in D:\wamp\www\Tests\magasin.php on line 46"
    0
  11. jeremy.s Messages postés 1248 Statut Membre 79
     
    C'est : die(print_r($req->errorInfo()));
    Autant pour moi !

    0