Oracle SELECT语句不起作用 - ORA-00942

ale*_*ale 4 php oracle ora-00942

希望是一个简单的问题.

    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    $c = oci_connect('whatmyusrnameis', 'whatmypwdis', 'host');
    if ($c) {
            echo 'connection';

    }
    $s = oci_parse($c, 'select *  from mantis_bug_table');
    oci_execute($s);
Run Code Online (Sandbox Code Playgroud)

以下结果

警告 oci_execute(): ORA-00942: table or view does not exist

但是连接不会导致任何错误,并且DB表确实存在并且它不是空的.

有任何想法吗???谢谢 :).

Con*_*rix 9

通常,这有四个可能的问题之一

  1. 您没有连接到您认为自己的数据库(可能不是这种情况)
  2. 你没有表格的许可(参见Justin Cave关于格兰特的回答)
  3. 您可能需要将所有者添加到表名中select * from DB_USER.mantis_bug_table(例如,如果您不想限定表名,请参阅Justin Cave关于SYNONYM的答案)
  4. 该表确实不存在拼写错误

您可以通过运行以下命令来诊断它

SELECT * FROM ALL_TABLES WHERE UPPER(table_name) = 'MANTIS_BUG_TABLE'
Run Code Online (Sandbox Code Playgroud)