PHP PDO и Oracle DB: общая ошибка: 933 - PullRequest
0 голосов
/ 19 марта 2020

, когда я пытаюсь вызвать любой запрос SQL, я получаю ту же ошибку на Oracle DB: PDOException: SQLSTATE [HY000]: Общая ошибка: 933 OCIStmtExecute: ORA-00933: SQL команда не завершена должным образом

Пример. Я пытаюсь вызвать метод следующим образом:

$sql = new sqlConnection();
$sql->select("select * from DB_NAME.TABLE_NAME;");

Мой PHP код:


    class sqlConnection
{
    private const SERVER = 'server.db.lan';
    private const PORT = '1521';
    private const DATABASE = '';
    private const USER = 'USER';
    private const PASS = '123456';
    private const SERVICE_NAME = 'KADADEV';
    private const SID = '';

    function __construct(){
        try {

            $dbtns = "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ".self::SERVER.")(PORT = ".self::PORT.")) (CONNECT_DATA = (SERVICE_NAME = ".self::SERVICE_NAME.") (SID = ".self::SERVICE_NAME.")))";

            $this->dbh = new PDO("oci:dbname=" . $dbtns . ";charset=utf8", self::USER, self::PASS, array(
                PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_EMULATE_PREPARES => false,
                PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC));

            echo "Connected successfully";

        } catch (PDOException $e) {
            echo $e->getMessage();
        }
    }

    private function select($sql) {
        $sql_stmt = $this->dbh->prepare($sql);
        $sql_stmt->execute();
        $result = $sql_stmt->fetchAll(PDO::FETCH_ASSOC);
        return $result;
    }

...

Когда я пытаюсь запустить тот же оператор SQL на SQL Навигатор, он работает , Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...