Bonsoir,

j'ai le même message d'erreur que j'avais déjà dans cette discussion : https://www.developpez.net/forums/d1...nverti-string/. J'en ai néanmoins créé une nouvelle car le titre ne convient plus. J'ai toujours la même table :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
DROP TABLE IF EXISTS `calendar_event`;
CREATE TABLE IF NOT EXISTS `calendar_event` (
  `event_id` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,
  `event_date` date NOT NULL,
  `event_time` time NOT NULL,
  `event_name` varchar(100) NOT NULL,
  `event_comment` text NOT NULL,
  `event_allday` tinyint(1) NOT NULL,
  PRIMARY KEY (`event_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1631 DEFAULT CHARSET=latin1;
Mais cette fois la requête est un insert :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
$sql = '
INSERT INTO calendar_event (event_date, event_time, event_name, event_comment,event_allday)
VALUES (:date, :time, :name, :comment, :allday);
';
$sql = $bdd->prepare($sql);
$sql->execute(array(
':date' => $result['event_date'],
':time' => $result['event_time'],
':name' => $result['event_name'],
':comment' => $result['event_comment'],
':allday' => $result['event_allday']
));

Le message d'erreur porte sur la colonne event_allday :
PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'event_allday' at row 1 in C:\wamp64\www\cal\admin\fct_modif_event.php on line 201
A noter que j'ai beau la déclarer en BOOLEAN dans phpMyAdmin, l'outil définit le type en tinyint(1). Par contre la valeur vaut bien false ou true. Cependant, il ne l'accepte pas et génère ce message d'erreur. Quelle est la solution ?