Zend Framework 1 SQL query Where



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

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

在 Zend Framework 1 中 Zend_Db_Select 或其他东西?

不确定如何使用

Zend_Db_Select执行如此复杂的嵌套查询,但您可以编写可以考虑手动编写查询,如下所示-

$sql = 'SELECT * FROM table WHERE p1 = ? AND p2 = ? AND (p3 LIKE ? OR p3 LIKE ?)';
$db->fetchAll($sql, [$p1, $p2, "%{$p3}%", "%{$p4}%"]);
您应该

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

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

最新更新