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 :

Version MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 576
    Points : 803
    Points
    803
    Par défaut Version MySQL
    Bonjour,

    J'ai paramétré la valeur par défaut d'une colonne create_date à CURRENT_TIMESTAMP avec ma version MySQL locale 5.5.57 mais ceci ne marche pas avec la version 5.5 en ligne chez 1&1 IONOS.
    Je dois donc insérer la date de création. Malheureusement ceci me provoque une erreur MySQL

    J'ai fait l'essai suivant en local:
    Cette requête fonctionne (à condition de supprimer la date dans $toSave):
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $query = "
    	INSERT IGNORE INTO dat_users (
    		login, gender, lastname, firstname, mail, pw, token
    	)
    	VALUES (
    		:login, :gender, :lastname, :firstname, :mail, :pw, :token
    	)
    ;";
    $result = $db->prepare($query);
    $result->execute($toSave);
    Mais la suivante provoque bizarrement une erreur Erreur: 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' à la ligne 88.'. Bizarrement parce que le nombre et l'écriture des paramètres sont corrects est correspondent dans la bdd, dans la requête ainsi que dans la clef et la valeur de $toSave.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $query = "
    	INSERT IGNORE INTO dat_users (
    		login, gender, lastname, firstname, mail, pw, token, create_date
    	)
    	VALUES (
    		:login, :gender, :lastname, :firstname, :mail, :pw, :token, create_date
    	)
    ;";
    Voici enfin la définition de ma table:
    Code sql : 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
    CREATE TABLE IF NOT EXISTS `dat_users` (
      `id` int(10) UNSIGNED NOT NULL,
      `login` varchar(15) NOT NULL,
      `gender` char(1) DEFAULT NULL,
      `lastname` varchar(30) DEFAULT NULL,
      `firstname` varchar(30) DEFAULT NULL,
      `mail` varchar(60) NOT NULL,
      `pw` varchar(255) NOT NULL,
      `token` varchar(6) DEFAULT NULL,
      `checked` tinyint(1) NOT NULL,
      `banned` tinyint(1) DEFAULT NULL,
      `create_date` datetime NOT NULL,
      `update_date` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
      `webmaster` tinyint(1) DEFAULT NULL,
      PRIMARY KEY (`id`),
      UNIQUE KEY `login` (`login`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 576
    Points : 803
    Points
    803
    Par défaut
    J'ai résolu mon problème par moi-même. Il manquait les deux points devant le dernier paramètre.

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

Discussions similaires

  1. problème compatibilité de version MySQL
    Par hokidoki dans le forum ASP
    Réponses: 3
    Dernier message: 18/05/2007, 19h49
  2. Version MySql 4.1.20-max-log chez OVH
    Par bigjim21 dans le forum Outils
    Réponses: 3
    Dernier message: 14/11/2006, 09h09
  3. afficher version mysql
    Par gforce dans le forum Administration
    Réponses: 2
    Dernier message: 29/03/2006, 13h07
  4. [Clause In] et version MySQL
    Par titoux_fr dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/01/2006, 14h44
  5. [EXISTS] Version MySql ou erreur syntaxe ?
    Par Kimael dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/04/2004, 17h30

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