query with $wpdb->prepare has different results
-
Hi,
Is there any reason a query constructed with wp database functions would return different results than one that is not.old method:
$query = "select count(distinct(t.title)) as num_of_items from title t WHERE t.description LIKE '%{$mysql["search"]}%' AND t.active = 1 "; $result = mysql_query( $query, $link ); $line = mysql_fetch_array( $result, MYSQL_ASSOC ); var_dump($line);
new method:
$mysql["search"] = $wpdb->esc_like( $mysql["search"] ); $mysql["search"] = '%' . $mysql["search"] . '%'; $query = "select count(distinct(t.title)) as num_of_items from title as t WHERE t.description LIKE %s AND t.active = 1 "; $sql = $wpdb->prepare( $query, $mysql["search"]); $num_of_items_arr = $wpdb->get_col($sql,0); var_dump($num_of_items_arr);
As a side note:
Why does the above query ($sql) echo out as:
select count(distinct(t.title)) as num_of_items from title as t
WHERE t.description LIKE ‘{84e1baeb63351ba70aa6c0513d7904e1bdf6ab1481cd18e2a75f8b8acd91dc2b}saga{84e1baeb63351ba70aa6c0513d7904e1bdf6ab1481cd18e2a75f8b8acd91dc2b}’ AND t.active = 1 “
Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
- The topic ‘query with $wpdb->prepare has different results’ is closed to new replies.