Select records in the database matching where IN(...).

NOTE Be aware of the servers max_packet_size variable.

Parameters

$table: The name of the table.

$field: field name to be compared to

$placeholder: db_query placeholders; like %d or '%s'

$data: array of values you wish to compare to

$returns: array of db fields you return

Return value

returns db_query() result.

1 call to advagg_db_multi_select_in()
advagg_get_filename in ./advagg.module
Given a list of files; return back the aggregated filename.

File

./advagg.module, line 3180

Code

function advagg_db_multi_select_in($table, $field, $placeholder, $data, $returns = array(), $groupby = '') {
    // Set returns if empty
    if (empty($returns)) {
        $returns[] = '*';
    }
    // Get the number of rows that will be inserted
    $rows = count($data);
    // Create what goes in the IN ()
    $in = $placeholder;
    // Add the rest of the place holders
    for ($i = 1; $i < $rows; $i++) {
        $in .= ', ' . $placeholder;
    }
    // Build the query
    $query = "SELECT " . implode(', ', $returns) . " FROM {" . $table . "} WHERE {$field} IN ({$in}) {$groupby}";
    // Run the query
    // TODO Please convert this statement to the D7 database API syntax.
    return db_query($query, $data);
}