To do this, I've tried to use the following PHP:SELECT my_id
FROM my_table
WHERE my_id IN ('id1', 'id2', 'id3');
Code: Select all
$search_string = array('id1', 'id2', 'id3');
$placeholders = array();
$bind = array();
$conn = oci_connect('admin', '1234', 'testdb.mydomain.com/TEST');
foreach($search_string as $index => $filter) {
$placeholders[] = ':filter'.$index;
$bind[':filter'.$index] = $filter;
}
$stid = '
SELECT my_id
FROM my_table
WHERE my_id IN ('.implode(',',$placeholders).')
';
$stid = oci_parse($conn,$stid);
foreach($bind as $k=>$v){
oci_bind_by_name($stid, $k, $v);
}
$r = oci_execute($stid);
oci_fetch_all($stid, $res, 0, -1, OCI_FETCHSTATEMENT_BY_ROW);
print '<pre>';
var_dump($res);
print '</pre>';
oci_free_statement($stid);
oci_close($conn)Why is it retrieving only 1 record? I would expect to see 3 in $res...
Any insights into this would be appreciated.