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 :

[Mysql] Prepare et create table


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Par défaut [Mysql] Prepare et create table
    Bonjour à tous

    j'ai un petit souci avec une requete que voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $req= $bdd->prepare("CREATE TABLE `toto_db`. :nom (
    						`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    						`OID` VARCHAR( 255 ) NOT NULL ,
    						`valeur` VARCHAR( 255 ) NOT NULL
    						)");
    			$nom_bdd= $_POST['nom_conf'].'_db';
    			echo $nom_bdd;
    		/*	var_dump(array(
    			'nom' => $nom_bdd
    ));*/
     
    			$req->execute(array('nom' => $nom_bdd))or die(print_r($bdd->errorInfo()));
    et il me retourne ceci
    Array ( [0] => 00000 ) 1
    la requete est bonne j'ai testé avec un nom en dur et le var_dump du tableau m'affiche bien la valeur quelqu'un voit il ou se trouve l'erreur

    merci

  2. #2
    Membre chevronné
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $req= $bdd->query('CREATE TABLE `toto_db`.'.$nom_bdd.' (
    									id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    									OID VARCHAR( 255 ) NOT NULL ,
    									valeur VARCHAR( 255 ) NOT NULL
    									)');
    hum et ca, ca fonctionne mais c'est pas propre.

    personne à une idée sur le pourquoi du comment ?

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Ça ne peut fonctionner, le nom de la table s'il est un paramètre va se retrouver quoter donc être une chaîne (pour x devenir 'x' en SQL) et va ainsi perdre son sens de nom SQL (table ici).

    Il y a déjà eu plusieurs sujets similaires : à vous de contrôler de telles données avant de l'injecter dans la requête.

Discussions similaires

  1. Problème avec un CREATE TABLE avec le mysql de wamp
    Par alexlevenere dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/03/2010, 09h55
  2. Erreurs de syntaxes CREATE TABLE sur Access + MySQL
    Par bmarcesche dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 17/06/2009, 08h56
  3. CREATE table en MySQL 5 - erreur en MySQL 4
    Par sevamax dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 10/02/2007, 23h50
  4. [MySQL] Create table : erreur sur foreign key
    Par Naksh-i dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/10/2006, 23h01
  5. [mysql] create table
    Par noOneIsInnocent dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 02/03/2006, 10h57

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