Вопросительный знак (?) не работает с предложением Zend where

Ранее наше приложение Zend 1.1 работало с версиями PHP 5.3 и Apache 2.2, а теперь мы обновили PHP до версии 5.4 и Apache до 2.4.

После этого обновления предложение Zend WHERE не работает со знаком вопроса (?), даже если оно не показывает никаких ошибок или предупреждений. Пример приведен ниже:

$query = $db->select()
                ->from(array('users' => 'users'),
                       array('id' => 'id', 'email', 'fname'))
                ->where('email = ?', $email);

Однако он работает без ? отметка.

Чего не хватает, может кто подскажет, потому что это очень критично для нас.

Спасибо


person Yashpal Singh    schedule 18.07.2014    source источник
comment
Дайте определение «не работает». И как будет выглядеть запрос, если сделать echo $query?   -  person Tim Fountain    schedule 18.07.2014
comment
Если я напечатаю запрос, он ничего не отобразит, но если я удалю? отметьте предложение from where и напишите запрос примерно так, после чего он напечатает запрос и будет работать правильно: -›where(email = '.$email.');   -  person Yashpal Singh    schedule 18.07.2014
comment
Ничего не отображает звучит так, будто произошла ошибка, но она не отображается из-за ваших настроек PHP. Можете ли вы проверить журнал ошибок, чтобы увидеть, есть ли там что-нибудь?   -  person Tim Fountain    schedule 18.07.2014


Ответы (1)


Как отметил @TimFountain, включите ошибки php.

Код должен быть:

$query = $db->select()
            ->from('users', array('id', 'email', 'fname'))
            ->where('email = ?', $email);

Or

$query = $db->select()
            ->from('users', array('id', 'email', 'fname'))
            ->where('users.email = ?', $email);

Or

$query = $db->select()
            ->from('users')
            ->columns(array('id', 'email', 'fname'))
            ->where('email = ?', $email);

Or

$query = $db->select()
            ->from(array('u' => 'users'), array('id', 'email', 'fname'))
            ->where('u.email = ?', $email);

Or :)

$query = $db->select()
            ->from(array('u' => 'users'))
            ->columns(array('id', 'email', 'fname'))
            ->where('u.email = ?', $email);

Ресурсы

person Gerard Roche    schedule 23.07.2014