在Zend框架中编写sql查询
答
扩大布赖恩的答案:)
首先,你必须创建一个“数据库适配器”什么连接到你的数据库。每个支持的数据库引擎都具有特定的适配器类数据库引擎可以是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'];
}
同时其易于使用,它不使用上面的查询()方法中最好的技术,因为 它没有帮助促进与数据库无关的查询。 要编写数据库无关查询,您可以使用Zend_Db_Select
。但是,当然,有时不能避免使用本机查询。你可以在这里找到你怎么能写这些查询更多分贝引擎为例:
Zend_Db_Select order by random, compatible in mssql/mysql
基于这个例子中,你可以使用基于您的适配器的类型不同的查询..
请告诉我URS REQ。你试过什么? – Teja 2012-03-09 15:21:12