Zend Framework 1 SQL查询Where

时间:2015-04-18 12:38:33

标签: zend-framework zend-db-table

有没有办法做这样的事情:

SELECT * FROM table WHERE p1=1 AND p2=2 AND ( p3 like %string1% OR p3 like %string3% )

Zend Framework 1中的Zend_Db_Select还是别的什么?

2 个答案:

答案 0 :(得分:1)

不确定如何使用Zend_Db_Select进行这样复杂的嵌套查询,但您可以编写可以考虑手动编写查询,如下所示 -

$sql = 'SELECT * FROM table WHERE p1 = ? AND p2 = ? AND (p3 LIKE ? OR p3 LIKE ?)';

$db->fetchAll($sql, [$p1, $p2, "%{$p3}%", "%{$p4}%"]);

答案 1 :(得分:1)

您应该使用Zend_Db_Statement,它为获取结果集提供了灵活的选项。您可以使用:

      $stmt = $db->query(
              'SELECT * FROM table WHERE p1 = ? AND p2 = ? AND (p3 LIKE ? OR p3 LIKE ?',
               array('1', '2', '%string1%', '%string3%')
              );