php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #70729 db2_execute() should handle DateTime parameters for timestamps.
Submitted: 2015-10-16 20:27 UTC Modified: 2017-01-16 15:25 UTC
From: zippy1981 at gmail dot com Assigned: rangercairns (profile)
Status: Closed Package: ibm_db2 (PECL)
PHP Version: 5.6.14 OS: PASE
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
19 - 7 = ?
Subscribe to this entry?

 
 [2015-10-16 20:27 UTC] zippy1981 at gmail dot com
Description:
------------
If I have the prepared SQL statement INSERT INTO WEBLIB.justin(recieved_date) VALUES(?), where recieved_date is a timestamp, I cannot pass a DateTime object into it. I can however, pass it if I format it with ->format('Y-m-d H:i:s'), which is the native DB2 format. I think the driver should handle the casting from dateTime on its own.

Test script:
---------------
CREATE TABLE WEBLIB.JUSTIN(
  id INT NOT NULL
    GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)
    CONSTRAINT WEBLIB.PK_JUSTIN PRIMARY KEY,
  recieved_date TIMESTAMP NOT NULL
);

<?php
$cn = db2_connect('', '', '');

$sql = "INSERT INTO WEBLIB.justin(recieved_date) VALUES(?);";
$stmt = db2_prepare($cn, $sql);
#this line will work
db2_execute($stmt, [(new DateTime('1981-04-28'))->format('Y-m-d H:i:s')]);
# This line does not work
db2_execute($stmt, [new DateTime('2001-09-11')]);

db2_close($cn);
?>


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2017-01-16 15:25 UTC] rangercairns@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: rangercairns
 [2017-01-16 15:25 UTC] rangercairns@php.net
No. The ibm_db2 driver has no plan to start guessing about all conversion variants of every time, timestamp, and date. This is role of language region php script (your script task).
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 18 20:01:30 2024 UTC