Несоответствие заявления Oracle OCI и заявления ODBC. (php)


При подключении к базе данных с помощью PHP я использовал соединение ODBC со следующим запросом:

"SELECT * FROM TAB.LE WHERE TAB.LE.Id = 1";

, где имя таблицы равно TAB.LE. Код, используемый для выполнения запроса, здесь не требуется, но он отлично работает, возвращая правильные результаты. Когда я использую соединение OCI, тот же запрос завершается ошибкой:

$conn = oci_connect("username", "password", "database");

if($conn){

$query = "SELECT * FROM TAB.LE WHERE TAB.LE.Id = 1";
$stid = oci_parse($conn, $query);
$res = oci_execute($query);

if($res){
     echo "success";
    }
else{
     echo "failed";
    }
}

Я постоянно вижу failed на экране. Я в замешательстве, почему. Странная вещь: имя таблицы TAB.LE работает для подключения ODBC; однако при просмотре в MS Доступ к нему отображается как TAB_LE. Я пытался использовать эту другую нотацию в соединении OCI, но безрезультатно.

Author: monster, 2015-09-02

1 answers

Oci_execute() Выполняет инструкцию, ранее возвращенную из oci_parse().

$stid = oci_parse($conn, $query);

Так что меняйся

$res = oci_execute($query);

До

  $res = oci_execute($stid);
 1
Author: Saty, 2015-09-02 12:37:10