#21915 [Com]: ociBindByName doesn't work properly with char columns

From: Date: Tue, 28 Jan 2003 08:42:02 +0000
Subject: #21915 [Com]: ociBindByName doesn't work properly with char columns
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-31439@lists.php.net to get a copy of this message
ID: 21915 Comment by: michael.virnstein@brodos.de Reported By: michael.virnstein@brodos.de Status: Open Bug Type: OCI8 related Operating System: Linux PHP Version: 4.2.3 New Comment: to make things clearer: c_column is a char(10) column, but there's also data stored that is shorter, e.g. 'text'. Therefore "Select * from t_table where c_column = 'text'" works. Previous Comments: ------------------------------------------------------------------------ [2003-01-28 02:22:09] michael.virnstein@brodos.de when i select from a oracle8i: ---------------------------------- $stmt = ociparse($conn, "Select * from t_table where c_column = 'text'"); ociexecute($stmt); ------------------------- and c_column is a char column, everything works fine, even if the data i'm asking for is shorter than the column. (c_column is a char(10) and i'm looking for 'text') but as soon as i use ocibindbyname, i won't get a result back: ------------------------- $stmt = ociparse($conn, "Select * from t_table where c_column = :bindvar"); $text = 'text'; ocibindbyname($stmt, ":bindvar", &$text, -1); ociexecute($stmt); ------------------------- it also doesn't work, if i set the length-parameter in ocibindbyname to the length of the char column or lenght+1: ------------------------- $stmt = ociparse($conn, "Select * from t_table where c_column = :bindvar"); $text = 'text'; ocibindbyname($stmt, ":bindvar", &$text, 10); ociexecute($stmt); ------------------------- ocibindbyname only works with char columns, when the data of the bindvariable is as long as the char column or if like-operator and % is used: ------------------------- $stmt = ociparse($conn, "Select * from t_table where c_column like :bindvar"); $text = 'text%'; ocibindbyname($stmt, ":bindvar", &$text, -1); ociexecute($stmt); ------------------------- ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=21915&edit=1

« previous php.bugs (#31439) next »