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):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
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);Voici enfin la définition de ma table:
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 ) ;";
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;
Partager