Création d'une table en php

Fermé
Livvie - 24 avril 2013 à 12:49
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 25 avril 2013 à 14:42
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 lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
24 avril 2013 à 15:48
Salut !

" 'Image' LONBLOB NOT NULL , "
LONGBLOB plutot non ?
0
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 lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
24 avril 2013 à 23:19
Tu utilises quoi comme objet pour faire tes opérations en base de données ?
0
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 lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
Modifié par jeremy.s le 24/04/2013 à 23:30
$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
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 lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
24 avril 2013 à 23:41
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
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 lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
25 avril 2013 à 01:50
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
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 lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
25 avril 2013 à 14:42
C'est : die(print_r($req->errorInfo()));
Autant pour moi !

0