Проблема при вставке данных в базу данных из PHP
моя проблема заключается в том, что при вставке данных в базу данных из PHP поле date регистрирует его для меня как 0027-02-19
, а когда я вставляю его непосредственно из базы данных, он регистрирует его для меня как должно быть, т. е. 2019-02-27
. Что может произойти?
SQL insert
непосредственно из базы данных:
INSERT INTO MRCJ000 (NBCLI000,G300CTA,C001CLIN,CUUID000,UIDEJE000,FULTACT000,USFHPRO,IDALDF000)
VALUES('victor', 123456, '124', '22', '10', TO_DATE(sysdate, 'YYYY/MM/DD'), TO_DATE(sysdate, 'YYYY/MM/DD'), '0')
Insert из PHP
:
$stid = $conn->prepare("INSERT INTO MRCJ000 (NBCLI000,G300CTA,C001CLIN,CUUID000,UIDEJE000,FULTACT000,USFHPRO,IDALDF000)
VALUES(?, ?, ?, ?, ?, TO_DATE(SYSDATE, 'YYYY/MM/DD'), TO_DATE(SYSDATE, 'YYYY/MM/DD'), ?)");
$stid->bindParam(1, $clientes_enviar[$i], PDO::PARAM_STR, 50);
$stid->bindParam(2, $cuentas_enviar[$i], PDO::PARAM_INT);
$stid->bindParam(3, $codCliente[$i], PDO::PARAM_STR, 50);
$stid->bindParam(4, $canal, PDO::PARAM_STR, 20);
$stid->bindParam(5, $gerente, PDO::PARAM_STR, 20);
$stid->bindParam(6, $aliado, PDO::PARAM_STR, 20);
$stid->execute();
$stid->closeCursor();
я оставляю изображение базы данных:
1
Author: Víctor Álvarez, 2019-02-27
2 answers
Вам не нужно делать to_date
на дату.
Это преобразование даты в дату; учитывая, что эта функция чувствительна к настройкам языка и территории. При необходимости вы должны использовать третий параметр функции.
2
Author: Sal, 2019-02-27 13:53:28
Вы Можете использовать CURDATE()
вместо TO_DATE(SYSDATE, 'YYYY/MM/DD')
CURDATE()
возвращает дату в формате 'YYYY-MM-DD'.
0
Author: AS13L, 2019-02-27 14:08:51