|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits              [2007-07-11 13:00 UTC] jani@php.net
  [2007-07-19 01:00 UTC] php-bugs at lists dot php dot net
 | |||||||||||||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 12:00:01 2025 UTC | 
Description: ------------ The script works fine when talking to Apache(WinXP)/PHP5/DNS [SQL Server]/MS SQL Express 2005, but when I try to get it to run on Apache (Linux)/PHP4/[unixODBC/FreeTDS]/MS SQL Express 2005 I get an error from PHP. If I place variables into the odbc_prepare() statement directly it works fine, but for some reason refuses to replace the '?' parameter in odbc_execute(). Obviously that would negate the security advantage of using odbc_prepare(). So it appears to be a bug in PHP4, but unfortunately the boss is hesitant to install PHP5 or any new version for fear of breaking everything. Reproduce code: --------------- <?php $dsn = "SQLExpress"; $dbuser = "sa"; $dbpass = "mypass"; $dbname = "mydb"; $connect = odbc_connect($dsn, $dbuser, $dbpass); odbc_exec($connect, "use " . $dbname) or die("Failed to connect to database."); $query = odbc_prepare($connect, "SELECT FIRST_NAME, MIDDLE_INITIAL, LAST_NAME FROM mytable WHERE LAST_NAME = ?"); odbc_execute($query, array("Smith")); echo odbc_result_all($query); ?> Expected result: ---------------- FIRST_NAME MIDDLE_INITIAL LAST_NAME Joseph C Smith Travis M Smith 2 Actual result: -------------- Warning: odbc_execute(): SQL error: <�tH� I��5, SQL state 00000 in SQLExecute in /var/www/html/v_contact.php on line 11