2012-01-05 4 views
0

mysql에서 URL을 비교하려고하지만 쿼리가 모든 URL과 일치하는 결과를 반환합니다.mysql에서 문자열 비교

내 검색어입니다.

SELECT 
    a.comment_ID, 
    a.comment_post_ID, 
    a.comment_content, 
    a.comment_date_gmt, 
    a.comment_author_url, 
    b.post_title, b.ID 
FROM 
    `wp_comments` a, 
    `wp_posts` b 
WHERE 
    a.comment_post_ID = b.ID 
    AND 
    ('a.comment_author_email' = '$email' 
    OR 
    'a.comment_author_url' = '$url') 
    AND a.comment_approved = 1 
GROUP BY a.comment_ID 
ORDER BY a.comment_ID DESC 

감사!

편집 : full query 쿼리에서

+0

이 중 하나에 대해 true를 반환하고이 조건 ** AND ('a.comment_author_email'= '$ 이메일' OR 'a.comment_author_url'= '$ URL이') ** 을 개정 고려 작성자의 이메일 또는 제공된 URL 당신은 어떤 가치관을 가지고 있습니까? – dkulkarni

+0

가능하면 변수가 아닌 값으로이 검색어를 보내 주시면보다 쉽게 ​​도움을 받으실 수 있습니다 =) – Gerep

+0

다음은 거의 전체 코드입니다 ... http://pastebin.com/QJmPfd0e –

답변

2

, 당신은 ` (역 따옴표) 문자로 모든 ' (따옴표) 문자를 대체해야합니다.

0

팁 :

  • 테이블 주위 ` 대신 '의 속성 PHP 변수 주위에 '를 제거
  • 쓰기 역 따옴표
  • INNER JOIN의 사용을 만들 수있을 수 있습니다 쉬운 일이

TRY이

$qry = " SELECT { watever} FROM `wp_comments` a, 
     INNER JOIN `wp_posts` b ON `a`.`comment_post_ID` = `b`.`ID` 
     WHERE 
       `a`.`comment_author_email` = '".$email."' 
      OR `a`.`comment_author_url` ='". $url."'  
     GROUP BY `a`.`comment_ID` 
     ORDER BY `a`.`comment_ID` DESC "; 
+0

같은 결과가 있습니다. comment_author_url에 url이있는 모든 행을 반환합니다. / –