Несоответствие заявления 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, но безрезультатно.
2
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