2016-08-19 34 views
-1
<?php 
global $wpdb; 
global $current_user; 
$review_title = isset($_GET['abc'])?$_GET['abc']:'test'; 
$review_titles = $wpdb->get_results($wpdb->prepare("SELECT ch_listing.listingId,organizationName, logoUrl, organizationType,reviewId, reviewTitle,reviewDate FROM ch_listing LEFT JOIN ch_review ON ch_listing.listingId = stakeholderId WHERE (reviewTitle LIKE %s);" '%'.like_escape($review_title).'%'))); 
?> 

返回null。我的代碼有什麼問題?有沒有人可以幫助我如何在wpdb->get_results wordpress中使用LIKE sql通配符?如何在wordpress的wpdb全局變量中使用LIKE sql通配符?

回答

1
global $wpdb; 
global $current_user; 

$review_title =isset($_GET['abc'])?$_GET['abc']:'test'; $review_titles = $wpdb->get_results($wpdb->prepare(
"SELECT 
     ch_listing.listingId 
     ,organizationName 
     ,logoUrl 
     ,organizationType 
     ,reviewId 
     ,reviewTitle 
     ,reviewDate 
FROM 
     ch_listing 
     LEFT JOIN 
      ch_review 
      ON ch_listing.listingId = stakeholderId 
WHERE 
     (reviewTitle LIKE %s);" '%'.like_escape($review_title).'%'))); 

它很難說,因爲你有LIKE %s其中LIKE '%s'可能有幫助,也許LIKE '%%%s%%'

最佳麻煩拍攝方式,這是開始的代碼塊交談和離開時看到你開始得到返回結果。喜歡帶走WHERE子句

+0

$ reviewers_title = $ wpdb-> get_results($ wpdb->準備(「SELECT chve_users.ID,DISPLAY_NAME,用戶類型,reviewId,reviewTitle,REVIEWDATE FROM chve_users RIGHT JOIN ch_review ON chve_users。 ID = reviewerId WHERE display_name LIKE%s「,'%'。$ reviewer_name。'%')); – hafhag

0

這裏是答案! $ review_title =「example」; $ review_titles = $ wpdb-> get_results($ wpdb-> prepare(「SELECT ch_listing.listingId,organizationName,logoUrl,organizationType,reviewId,reviewTitle,reviewDate FROM ch_listing LEFT JOIN ch_review ON ch_listing.listingId = stakeholderId WHERE reviewTitle LIKE%s」 , '%' $ review_title '%'));在上面的代碼中,棘手的是:$ wpdb-> get_results($ wpdb-> prepare(argument1,argument2))接受兩個參數,比如argument1和argument2,第一個參數是下一個參數。假設我傳遞一個字符串,所以我應該使用%s,但是如果我想傳遞整數的參數,我應該使用%d,最後一個變量的值可能是字符串或整數值。

希望這會爲你們所有的工作都是在使用LIKE通配符在WordPress的問題!

非常感謝。

+0

非常感謝,它工作正常! – hafhag

0
$reviewers_title = $wpdb->get_results( $wpdb->prepare("SELECT chve_users.ID, display_name,userType, reviewId, reviewTitle, reviewDate FROM chve_users RIGHT JOIN ch_review ON chve_users.ID = reviewerId WHERE display_name LIKE %s",'%'.$reviewer_name.'%')); 

工作正常

相關問題