oci_parse(): и oci_execute(); предупреждения

#php #oracle #oracle12c #execute #oci8

#php #Oracle #oracle12c #выполнить #oci8

Вопрос:

Начал использовать функции oci_ в PHP. Сталкиваюсь с ошибкой subject.

Мой файл базы данных выглядит следующим образом:

 <?php 
  $conn = oci_connect("user", "pass", "LOSINGMINDHOST");
  if (!$conn) {
     $e = oci_error();
     error_log(trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR));
  }

  oci_close($conn);
?>
  

Подтвердил, что приведенная выше строка подключения выполнена успешно.

Теперь в моем тестовом файле у меня есть следующее:

 <?php
  include("include/database.php");

  $queryMain = oci_parse($conn, "select * from sometable");

  oci_execute($queryMain);
?>
  

Используя вышесказанное, вот что я получаю на экране:

 Warning: oci_parse(): supplied resource is not a valid oci8 connection resource in D:htdocsmysitetest.php on line 4
Warning: oci_execute() expects parameter 1 to be resource, bool given in D:htdocsmysitetest.php on line 26
  

Я использую PHP 7.4 на Windows Server 2019.

Я проверил файл php.ini, чтобы убедиться, что соединения oci8 доступны и / или раскомментированы.

Что еще мне нужно, чтобы это работало?

Ответ №1:

Сразу после открытия соединения вы снова закрываете его. Это делает его непригодным для использования. Удалите oci_close($conn); вызов.

В целом, вы можете захотеть взглянуть на другую архитектуру, например, с использованием классов.