Bug #74104 [Com]: ibase_query and date as a param
| From: | lester at lsces dot co dot uk | Date: | Sat, 23 Mar 2019 18:34:49 +0000 |
| Subject: | Bug #74104 [Com]: ibase_query and date as a param | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-220154@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=74104&edit=1
ID: 74104
Comment by: lester at lsces dot co dot uk
Reported by: mikedeweese at hotmail dot com
Summary: ibase_query and date as a param
Status: Open
Type: Bug
Package: InterBase related
Operating System: CentOS 7
PHP Version: 7.0.15
Block user comment: N
Private report: N
New Comment:
Unable to recreate ...
%Y gives year as 4 characters, and %y trims it to 2 characters
Previous Comments:
------------------------------------------------------------------------
[2017-02-15 19:33:07] mikedeweese at hotmail dot com
Description:
------------
The interbase.so extension parses dates that have two digit years wrong.
In php.ini, ibase.dateformat = "%m/%d/%Y"
I am able to get correct results by editing function ibase_query.c, function _php_ibase_bind,
forcing "#ifdef HAVE_STRPTIME" to fail, which causes firebird sql to to parse the string.
This does not fail on my Windows boxes.
Test script:
---------------
CREATE TABLE Z_DEBUG (
FID INTEGER,
FDATE DATE
);
CREATE OR ALTER TRIGGER Z_DEBUG_BI0 FOR Z_DEBUG
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.FID = NEXT VALUE FOR GEN_MYGEN;
END
<?php
ibase_connect('localhost:TEST', 'sysdba', 'masterkey');
$q = ibase_query("INSERT INTO Z_DEBUG (FDATE) VALUES(?) RETURNING (FID)",
'3/6/17');
$r = ibase_fetch_object($q);
$q2 = ibase_query("SELECT FDATE, extract(year from FDATE) as FYEAR FROM Z_DEBUG WHERE FID =
?", $r->FID);
$r2 = ibase_fetch_object($q2);
print $r2->FDATE . ' ' . $r2->FYEAR . "\n\n";
Expected result:
----------------
03/06/2017 2017
Actual result:
--------------
03/06/17 17
That is the year 0017, 17 years after 1 BC
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=74104&edit=1