Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Zend_Db_Adapter PDO_MYSQL fetchAll() не исполняет текстовый запрос. / 2 сообщений из 2, страница 1 из 1
07.09.2012, 06:24:12
    #37947647
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zend_Db_Adapter PDO_MYSQL fetchAll() не исполняет текстовый запрос.
Сложный селект на переменных. "с руки" в EMS Manager отрабатывает нормально. Втыкаю его в такой оператор
Код: php
1.
2.
3.
4.
5.
   ...
  $sql = 'SELECT ... @var1 AS var1, ... FROM (SELECT @var1:=0, @var2:=0) AS dummy, `dbName`.`dbTable` AS pr JOIN ... WHERE ... ORDER BY ...;';
  $db = Zend_Registry::get('dbAdapter');
  $rows = $db->fetchAll($sql, array(), Zend_Db::FETCH_ASSOC);
  ...



Вылетает ошибка SQL

SQLSTATE[42S02]: Base table or view not found: 1109 Unknown table 'pr' in field list

Все таблицы запроса перечислены с обязательным указанием БД. В чем дело - не могу понять.
До этого кода через адаптер отправляется несколько запросов, которые работают нормально... но через Zend_Db_Table_Select структуры. То есть соединение открывается, работает. Таблица в базе - присутствует.

Может кто быстро помочь?
...
Рейтинг: 0 / 0
07.09.2012, 06:33:58
    #37947648
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zend_Db_Adapter PDO_MYSQL fetchAll() не исполняет текстовый запрос.
Arhat109,

НАШЕЛ! Я - старый идиот... Дело в том, что запрос собирается из отдельных переменных - частей: $select, $from, $where, $order...

В коде стояло так:

$sql = "$select $from $where $order";
return $select;

Просмотрел, бывает. :(
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Zend_Db_Adapter PDO_MYSQL fetchAll() не исполняет текстовый запрос. / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]