Bonjour,

j'ai une requête dont les valeurs sont générée dynamiquement (PHP) et là, un cas où il n'y a pas de valeur pour une colonne :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
INSERT into `license` (sesa, application_key, currently_active, activate_date, deactivate_date) VALUES
 
(105017, 1, , ' 2016-08-16', ' 2019-11-8') ON DUPLICATE KEY UPDATE
 
    sesa = 105017, application_key = 1,currently_active = ,
 
    activate_date = ' 2016-08-16',deactivate_date = ' 2019-11-8'
C'est visiblement incorrect :
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ', ' 2016-08-16', ' 2019-11-8') ON DUPLICATE KEY UPDATE sesa = 105017, appli' at line 2 in C:\projets\ticket_rawsrc\vendor\rawsrc\PDOPlusPlus\PDOPlusPlus.php on line 673
Comment faire SVP ?

Le code PHP est le suivant :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
$sql_insert = <<<sql
INSERT into `license` (sesa, application_key, currently_active, activate_date, deactivate_date) VALUES
({$ppi($SESAID,'int')}, {$ppi($application_key,'int')}, {$ppi($CURRENTLYACTIVE,'bool')}, {$ppi($ACTIVATEDATE)}, {$ppi
            ($DEACTIVATEDATE)}) ON DUPLICATE KEY UPDATE
    sesa = {$ppi($SESAID,'int')}, application_key = {$ppi($application_key,'int')},currently_active = {$ppi
            ($CURRENTLYACTIVE,'bool')},
    activate_date = {$ppi($ACTIVATEDATE)},deactivate_date = {$ppi($DEACTIVATEDATE)}
sql;
 
 
$id = $ppi->insert($sql_insert);
J'utilise l'excellente classe de rawsrc