有没有办法做这样的事情:
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%')
);