Чтобы расширить ответ Брайана:)
Сначала вы должны создать «адаптер базы данных», который подключается к вашей базе данных.Каждое поддерживаемое ядро базы данных имеет определенный класс адаптера.Ядро базы данных может быть MySQL, PostgreSQL..etc, вы можете найти все здесь: http://framework.zend.com/manual/en/zend.db.adapter.html
Например, вы можете создать специальный адаптер MySQL, например:
$dbAdapter = new Zend_Db_Adapter_Pdo_Mysql(array(
'host' => 'localhost',
'username' => 'webuser',
'password' => 'xxx',
'dbname' => 'test'
));
Тогда, если выесли у вас есть собственный SQL-запрос, например:
$sql = "SELECT * FROM users WHERE id > 23";
, то вы можете использовать вышеуказанный объект $dbAdapter
для выполнения этого собственного запроса, используя его функцию query()
:
$statement = $dbAdapter->query($sql);
Теперьпеременная $ Statement будет объектом Zend_Db_Statement .Если вы хотите увидеть результат этого запроса, вы можете использовать функцию fetch()
, например:
while ($row = $statement->fetch()) {
echo $row['username'];
}
Несмотря на простоту использования, это не лучший метод для использования вышеуказанного метода query (), посколькуэто не помогает продвигать независимые от базы данных запросы.Для написания запросов к базе данных вы можете использовать Zend_Db_Select
.Но, конечно, иногда невозможно избежать использования собственных запросов.Здесь вы можете найти пример того, как вы можете написать эти запросы для большего количества дБ:
Zend_Db_Select порядок случайным образом, совместимый в mssql / mysql
На основе этого примера вы можете использовать разныезапросы на основе типа вашего адаптера ..