ID: 26777
Updated by: [EMAIL PROTECTED]
Reported By: al at forest dot akadem dot ru
-Status: Open
+Status: Assigned
Bug Type: InterBase related
-Operating System: Windows 2000
+Operating System: *
-PHP Version: 4.3.4
+PHP Version: 4CVS, 5CVS (?)
-Assigned To:
+Assigned To: abies
New Comment:
Assigned to Ard who touched this part the last time.
Previous Comments:
------------------------------------------------------------------------
[2004-01-03 09:35:12] al at forest dot akadem dot ru
Description:
------------
Having Windows 2000 SP4,
PHP 4.3.4, php_interbase latest checked from CVS (Revision 1.91.2.26).
Firebird SS 1.0.3
Having a table in db (dialect 3):
CREATE TABLE T_TEST (
F1 TIMESTAMP NOT NULL,
F2 INTEGER
);
and a trigger associated with it:
CREATE TRIGGER T_TEST_BI0 FOR T_TEST
ACTIVE BEFORE INSERT POSITION 0
AS
begin
if (new.f1 IS null) then
new.f1 = current_timestamp;
end
This mean that no record will be inserted with F1 set to NULL. Having
code reproduced below I get a message:
Warning: ibase_query(): Parameter 90206904 must have a value in
c:\g2\htdocs\ibase_not_null.php on line 7
The problem seems to lie around lines 1199-1202 in interbase.c
Reproduce code:
---------------
<?php
$G2db = ibase_connect( '/path/to/db',
'user', 'passw',
'WIN1251', 0, 3, 'role');
$G2tr = ibase_trans(IBASE_NOWAIT, $G2db);
$qry = ibase_query($G2tr, 'insert into t_test (f1, f2) values (?, ?)',
NULL, '33');
ibase_commit($G2tr);
ibase_close($G2db);
?>
Expected result:
----------------
PHP shouldn't complain at all.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=26777&edit=1