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 :C'est visiblement incorrect :
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'Comment faire SVP ?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
Le code PHP est le suivant :J'utilise l'excellente classe de rawsrc
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);
Partager