php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #2976 odbc_execute miss-use SQLBindParameter
Submitted: 1999-12-14 22:40 UTC Modified: 2002-05-21 23:40 UTC
From: JimmyLee at openpath dot com dot tw Assigned:
Status: Closed Package: ODBC related
PHP Version: 4.0 Beta 3 OS: WinNT 4.0
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: JimmyLee at openpath dot com dot tw
New email:
PHP Version: OS:

 

 [1999-12-14 22:40 UTC] JimmyLee at openpath dot com dot tw
while use odbc prepare, if query statment owns one more variables, odbc execute will result wrong parameter binding if these variables are not the same type. For example, in SQL Server 7, establish a table 'TABLE1' with two columns: name:char(10), age:int, then try to insert some records as follow : <br>

    $conn = odbc_connect("SQL_7_DSN", "", "", SQL_CUR_DEFAULT) or die("Connect error\n");
    
    $stmt = odbc_prepare($conn, "insert into TABLE1 (name,age) values(?,?)") or die("Prepare error\n");
        
    #odbc_exec($conn, "insert into TABLE1 (name,age) values('abc',1)"); # odbc_exec works fine without error

    for ($i=0; $i <= 10; $i++)
    {   
        odbc_execute($stmt, array("abc".$i, $i));
    } 

    odbc_close($conn);

But, if change "insert into TABLE1 (name,age) values (?,?)" to "insert into TABLE1 (age,name) values (?,?)" and change odbc_execute($stmt, array("abc".$i, $i)) to odbc_execute($stmt, array($i, "abc".$i)), everything works fine in SQL Server. It seems odbc_execute did not bind right parameter to right variables. I suggest add some function like odbc_bindParameter(...) to set suitable type.

BTW, take MS Access as DSN, which one in the above will not works :(

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-07-23 02:59 UTC] zak at cvs dot php dot net
I will do some testing and see if I can reproduce the error in a recent release.
 [2001-02-13 15:40 UTC] cynic@php.net
i've sent a msg to the reporter, it got back. seems like he doesn't work there anymore. anyone with MS Access willing to test the snippet?
 [2001-02-13 15:56 UTC] kalowsky@php.net
I've begun to investigate many of the ODBC windows bugs... I'll see if I can jump on this one as well... I miss FreeBSD already...
 [2001-03-11 21:24 UTC] kalowsky@php.net
same as #6275
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 09:01:27 2024 UTC