IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Création d'une table [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut Création d'une table
    Bonjour,

    J'aimerais pouvoir créer une table avec PDO.
    Pour se faire, j'utilise la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    	try
    	{
    	  $ptPDO =new PDO('mysql:host='.$this->host.';dbname='.$this->nomBDD, $this->login, $this->mdp,array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    	  echo '<br/>PDO:'.$sql.'<br/>';
    	  $prep = $ptPDO->prepare($sql);
     
    	  if(startswith($sql,'CREATE'))
    	  {
    	    echo '<br/>CREATE<br/>';
    	    if($prep === FALSE)
    	      echo 'Probleme PDO : ' . $prep->errorInfo();
    	    else
    	      echo 'Table creee';
    	  }
    	  else
    	  {
    	    if(sizeof($_tWhere)>0)
    	    {
    	      $prep->execute($_tWhere);
    	    }
    	    else
    	      $prep->execute();
     
    	    if(startswith($sql, 'SELECT'))
    	    {
    	      $result = $prep->fetchAll();
    	      self::traitementRes($result);
    	    }
    	  }
    	}
    	catch (PDOException $e)
    	{
    	  echo 'Probleme PDO : ' . $e->getMessage();
    	  echo 'N : '.$e->getCode();
    	  echo 'N : '.$e->getLine();
    	  die();
    	}
    Les select, insert fonctionne bien, mais j'ai un soucis pour un create table.
    Ma requete est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TABLE IF NOT EXISTS contact ( ID varchar(255) NOT NULL, nom varchar(255) NOT NULL, PRIMARY KEY (ID));
    Lors de l'execution, j'ai bien un "Table creee"; mais rien en BDD.

    Bonne journée

  2. #2
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut
    Re,

    J'ai trouvé ; il faut utiliser exec et non pas prep+execute pour CREATE TABLE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    	try
    	{
    	  $ptPDO =new PDO('mysql:host='.$this->host.';dbname='.$this->nomBDD, $this->login, $this->mdp,array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    	  echo '<br/>PDO:'.$sql.'<br/>';
     
    	  if(startswith($sql,'CREATE'))
    	  {
    	    echo '<br/>CREATE<br/>';
    	    $ptPDO->exec($sql);
    	    if($prep === FALSE)
    	      echo 'Probleme PDO : ' . $prep->errorInfo();
    	    else
    	      echo 'Table creee';
    	  }
    	  else
    	  {
    	  $prep = $ptPDO->prepare($sql);
    	    if(sizeof($_tWhere)>0)
    	    {
    	      $prep->execute($_tWhere);
    	    }
    	    else
    	      $prep->execute();
     
    	    if(startswith($sql, 'SELECT'))
    	    {
    	      $result = $prep->fetchAll();
    	      self::traitementRes($result);
    	    }
    	  }
    	}
    	catch (PDOException $e)
    	{
    	  echo 'Probleme PDO : ' . $e->getMessage();
    	  echo 'N : '.$e->getCode();
    	  echo 'N : '.$e->getLine();
    	  die();
    	}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. création d'une table dans une base de donnée accèss
    Par zidenne dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/10/2005, 10h54
  2. Question sur la création d'une table
    Par air dans le forum Oracle
    Réponses: 4
    Dernier message: 23/10/2005, 12h46
  3. Réponses: 4
    Dernier message: 19/10/2005, 11h26
  4. Création d'une table avec foreign key
    Par lepierre dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/09/2004, 14h20
  5. INTERBASE Création d'une table
    Par Corben dans le forum InterBase
    Réponses: 2
    Dernier message: 19/06/2004, 20h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo