2016-10-19 9 views
1

나는이 기능은 내 데이터베이스에서 찾고있을 것이다 정확한 숫자 인 4를 반환워드 프레스 PHP 변수()

$results = $wpdb->get_results(
       "SELECT meta_value 
       FROM wp_woocommerce_order_itemmeta 
       WHERE order_item_id = '21' 
       AND meta_key = '_qty" 
      ); 

을 말할 때 잘 작동하는 기능을 가지고있다.

불행히도이 코드는 get_results()에 빈 배열을 반환합니다. 내 코드에서 $ wpdb에 변수를 전달하는 데 문제가 있습니다. 누구나 아이디어가 있습니까?

$results = $wpdb->get_results(
       "SELECT meta_value 
       FROM wp_woocommerce_order_itemmeta 
       WHERE order_item_id =" .$order_item_id. 
       "AND meta_key = '_qty'" 
      ); 
+0

변수와 다음 문자열 입력 사이의 문자열. "24AND" – Luke

+0

감사합니다 !!!!!!! –

+0

앞으로 내 같은 질문을 피할 수있는 방법에 대한 내 대답을 확인하십시오. – Luke

답변

1

이 특별한 경우에는 문자열 연결에 공백이 누락 된 간단한 문제라고 생각합니다. 그러나 (이 쉽게 발견 할 수있게하여이를 막았을 것이다 명세서를 준비하는 더 적당한 방법, 그리고 $wpdb->prepare() 사용할 수를 사용하여 다른 좋은 쿼리 작성 관행

워드 프레스 준비된 문에서도
다음 수 있습니다 대부분의 의) sprintf() 구문을 사용하여 쿼리를 작성하는 데 도움이됩니다. wordpress codex에서 사용 가능하고에

$query = $wpdb->prepare("SELECT meta_value 
      FROM wp_woocommerce_order_itemmeta 
      WHERE order_item_id = %d 
      AND meta_key = '_qty'", $order_item_id); 
$results = $wpdb->get_results($query); 

더 많은 정보 문자열이`나는 당신의 문제가없는 공백의에서 믿고` "wp_woocommercer_order_itemmeta WHERE order_item_id = 24AND meta_key = '_qty` FROM meta_value 선택"을 평가합니다 prepared statements in general