Подготовленные операторы ODBC в PHP

Я пытаюсь использовать 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

16
задан psynnott 22 April 2011 в 14:18
поделиться