2016-07-26 6 views
0
$query = $_GET['search']; 
$wpdb->get_results("SELECT * FROM wp_posts WHERE (post_type = 'discussion' AND post_status = 'publish' AND (post_content like '%".$query."%' OR post_title like '%".$query."%))"); 

In dieser Abfrage OR Bedingung wird nicht ausgeführt.
Jede Hilfe wäre willkommen!Mysql-Abfrage nicht mit oder Bedingung

Antwort

1

Sie haben ein einzelnes Angebot an diesem Ort "%))"); verpasst. So wird der Arbeits Code sein:

$wpdb->get_results("SELECT * FROM wp_posts WHERE (post_type = 'discussion' AND post_status = 'publish' AND (post_content like '%".$query."%' OR post_title like '%".$query."%'))"); 

Die post_title like mit einem ' beginnen, aber nicht über die Schließung '

+0

habe ich es funktioniert, aber nicht. –

+0

@ManishSuthar: Hat die Kombination wirklich gültige Daten in der Tabelle? – Arulkumar

+0

Ja. Ich habe zwei Spalten in der Tabelle post_title und post_content, wenn ich die Abfrage perfekt löse oder konditioniere. –

0

SQL-Befehl korrekt aussieht.
Wird $ query wirklich nicht leeren können versuchen, diese (hilft manchmal, wenn Sie Typ zurückgegeben define):

$sql = 'your select'; 
$results = $wpdb->get_results($sql, OBJECT); 
foreach ($results as $res) { ... }