Я пытаюсь использовать odbc_prepare и odbc_execute в PHP следующим образом:
$pstmt=odbc_prepare($odb_con,"select * from configured where param_name='?'");
$res=odbc_execute($pstmt,array('version'));
var_dump($res); //bool(true)
$row = odbc_fetch_array($pstmt);
var_dump($row); //bool(false)
Первый var_dump возвращает true, поэтому выполнение завершается успешно, но не возвращается строка. Строка действительно существует с param_name = 'version'. Почему не возвращается ни одна строка?
Чтобы сделать вещи интересными, я запустил еще один очень простой пример на php, используя подготовленную вставку.
$pstmt=odbc_prepare($odb_con,"insert into tmp1 values(?,'?')");
Эта строка сама по себе вставила строку в базу данных !! Конечно, это просто неправильно? Введены данные: col 1 = blank, col 2 =?
Мы будем благодарны за любые советы о том, с чего начать исправление.
Edit: Это в PHP 5.2.8