1

Is there any way to do something like this:

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

In Zend Framework 1 by Zend_Db_Select or something else ?

ViktarV
  • 11
  • 2

2 Answers2

1

Not sure about how you would go about doing such complex nested query using Zend_Db_Select but you can write can consider writing query manually as follows -

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

$db->fetchAll($sql, [$p1, $p2, "%{$p3}%", "%{$p4}%"]);
Rahul Datta Roy
  • 160
  • 1
  • 4
1

You should rather use Zend_Db_Statement, which gives flexible options for fetching result sets. You can use:

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