ID: 21915 Comment by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] 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] [EMAIL PROTECTED] 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