запрос на выборку

mcsd

Новичок
запрос на выборку

Доброго времени суток.

вот такой код по статье http://phpclub.ru/detail/article/oracle у меня не работает

PHP:
$c=OCILogon("system", "pass", "db1"); 
if ( ! $c ) { 
    echo "Невозможно подключится к базе: " . var_dump( OCIError() ); 
    die(); 
  }

  // Производим выборку из базы данных 
  $s = OCIParse($c, "select * from test"); 
  OCIExecute($s, OCI_DEFAULT); 
  while (OCIFetch($s)) { 
    echo "name=" . ociresult($s, "name") . 
       ", value=" . ociresult($s, "value") . "\n"; 
  } 

  // Выполняем commit; 
  OCICommit($c); 

  // Отключаемся от базы данных 
  OCILogoff($c);
к строке
OCIExecute($s, OCI_DEFAULT);
выдает ошибку
ORA-00942: table or view does not exist

к базе подключается, в SQL*Plus такой запрос выполняется.

что я делаю не так??
 

Falc

Новичок
Re: запрос на выборку

Автор оригинала: mcsd
ORA-00942: table or view does not exist
Данная ошибка говорит что нет таблицы или нет прав к ней.
Обычно возникает из-за отсутствия прав или не указания владельца схемы.

В sqlplus под тем же пользователем подключаешься?
 

mcsd

Новичок
под другим.
исправила, теперь на поля ругается!!
Invalid column name "name"
Invalid column name "value"
 

dimagolov

Новичок
mcsd, это вообще-то служебные слова SQL и в MySQL, к примеру, их нужно брать в кавычки ``
 

mcsd

Новичок
здесь не mySQL .
вот такой код пробую
PHP:
$s = OCIParse($c, "select id, fi_name, la_name  from students"); 
  OCIExecute($s, OCI_DEFAULT); 
  while (OCIFetch($s)) { 
    echo "fi_name =" . ociresult($s, "fi_name") . 
       ", la_name =" . ociresult($s, "la_name") . "\n"; 
  }
ругается...
 

elsa11

Новичок
$s = OCIParse($c, "select id, fi_name, la_name from students");
OCIExecute($s, OCI_DEFAULT);
while (OCIFetch($s)) {
echo "fi_name =" . ociresult($s, 1) .
", la_name =" . ociresult($s, 2) . "\n";

где 1; 2 номера столбцов в запросе
или имя столбцов в запросе заглавными буквами и все будет работать
 
Сверху