2016-08-19 2 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 와일드 카드를 사용하는 방법에 대해 저를 도울 수있는 사람이 있습니까? 당신이 LIKE '%s' 도움이 될 LIKE %s이 멀리 코드의 이야기 덩어리를 시작하고 다시 결과를 얻을 시작할 때 참조입니다 문제가 촬영에 어쩌면 LIKE '%%%s%%'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).'%'))); 

그것의 하드 말한다. 마찬가지로 WHERE 조항을 제거하십시오.

+0

$ reviewers_title = $ wpdb-> get_results ($ wpdb->을 작동합니다. ID = reviewerId where display_name LIKE % s ", '%'. $ 리뷰 작성자. '%')); – hafhag

0

여기에 답이 있습니다! $ review_title = "예"; $ review_titles = $ wpdb-> get_results ($ wpdb-> 준비 ("SELECT ch_listing.listingId, organizationName, logoUrl, organizationType, reviewId, reviewTitle, reviewDate 왼쪽에서 ch_listingI에 ch_review에서 리뷰 아이디 = stakeholderId reviewTit LIKE % s" , '%'. $ review_title. '%')));

위의 코드에서 다루기 힘든 부분은 다음과 같습니다. $ wpdb-> get_results ($ wpdb-> prepare (argument1, argument2))는 argument1과 argument2와 같은 두 개의 인수를 허용하며, 첫 번째 인수는 두 번째 인수입니다. 내가 % s를 사용해야하므로 문자열을 전달한다고 가정하지만 인수 정수를 전달하려면 % d를 사용해야합니다. 마지막으로 변수 값은 문자열 또는 정수 값일 수 있습니다.

희망이 모두 잘 작동합니다 wordpress에서 와일드 카드를 사용하는 LIKE의 문제에 있습니다!

감사합니다.

+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.'%')); 

는 ("RIGHT chve_users ON ch_review 가입 chve_users FROM chve_users.ID, DISPLAY_NAME, 유저 유형, reviewId, reviewTitle, reviewDate을 선택 준비를 잘

관련 문제