Création d'une table en php

Livvie -  
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   -
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 :)
A voir également:

11 réponses

jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Salut !

" 'Image' LONBLOB NOT NULL , "
LONGBLOB plutot non ?
0
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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Tu utilises quoi comme objet pour faire tes opérations en base de données ?
0
Livvie
 
pdo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   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
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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   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
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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   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
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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
C'est : die(print_r($req->errorInfo()));
Autant pour moi !

0