ID: 2976 Updated by: zak Reported By: [EMAIL PROTECTED] Old-Status: Assigned Status: Open Bug Type: ODBC related Assigned To: Comments: Previous Comments: --------------------------------------------------------------------------- [1999-12-14 22:40:29] [EMAIL PROTECTED] 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 errorn"); $stmt = odbc_prepare($conn, "insert into TABLE1 (name,age) values(?,?)") or die("Prepare errorn"); #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 :( --------------------------------------------------------------------------- ATTENTION! Do NOT reply to this email! To reply, use the web interface found at http://bugs.php.net/?id=2976&edit=2 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]