2013-05-17 1 views
0

내 코드를하고이 코드 무엇하는 HAVING 수> 1을 요청입니다 ... 잘못

$select_product_dups = $db->prepare("SELECT products_model FROM products GROUP BY products_model HAVING count(products_model) > 1"); 

내 편집기 (적어도 약간의 정보와 함께 강조) 나 짖는, 그래서 나는 이것에 관해 공동체와 점검 할 것이라고 생각했다. 다 그렇지 않으면 좋은 것처럼 보입니다.

전체 문 ...

$select_product_dups = $db->prepare("SELECT products_model FROM products GROUP BY products_model HAVING count(products_model) > 1"); 
$select_product_dups->setFetchMode(PDO::FETCH_ASSOC); 
$select_product_dups->execute(); 
while ($select_product_dups_row = $select_product_dups->fetch()){ 
    $dups[] = $select_product_dups_row['products_model']; 
} 
+5

편집자의 짖김을 우리가 이해할 수있는 오류 메시지로 번역 하시겠습니까? –

+0

이 SQL을 실행하도록 데이터 소스가 구성되어 있지 않습니다. @GeorgeCummins – Shane

+0

PHPStorm 오류 일 수 있으며 문이 정상입니까? – Shane

답변

2

귀하의 질의 나에게 합법적 보인다.

편집자가 불평할만한 이유는 모르겠지만 "이 SQL을 실행하도록 데이터 소스가 구성되어 있지 않습니다"라는 메시지는 진술 내용과 관련이없는 것으로 보입니다. SELECT products_model FROM products LIMIT 1과 같이 간단한 검색어로 검색어를 대체 해 보았습니까? 내 생각 엔 너는 여전히 경고를받을거야.

어쨌든 편집기의 경고는 눈을 깜박입니다. 귀하의 SQL 엔진은 모든 쿼리의 진정한 판단 자입니다.

편집 : 따라서 경고는 실제로 쿼리의 내용과 관련이 없습니다. 내 생각 엔 편집자는 데이터베이스 연결을 초기화하는 위치를 볼 수 없다는 것입니다 ("데이터 소스"는 데이터베이스 연결입니다). 분명히 작동하기 때문에 경고를 무시하고 원하는 것을 정확히 제공하는 쿼리로 넘어갑니다.

+0

미안하지만 무슨 말을하려고하는지 전혀 모르겠다! 귀하의 질문은 편집기 경고에 관한 것입니다. 경고에는 쿼리의 내용과 관련이 있다고 생각하기 때문에 간단하고 안전한 쿼리로 바꾸고 경고가 남아 있는지 또는 사라지는 지 확인하십시오. 그것이 남아 있다면 (내가 생각하기에) : 이것은 쿼리 자체가 아닌 다른 것에 의해 발생합니다. – alexis

+0

좋아, 나는 이것을 시도했다. 그리고 당신이 옳다, 그것은 다른 것에 의해 초래된다. 나는 좀 더 파헤쳐 볼 것이다. 내 다른 의견은 쿼리가 정확히 무엇을하고 있었는지 (하지만 가까운)하고 있지 않다는 것이 었습니다. – Shane

+1

맞아요, 그것들은 두 개의 별개의 질문입니다. 당신이 당신의 코멘트를 삭제 했으므로 나는 당신이 무엇을 성취하려고하는지 알지 못합니다. 그래서 그것에 대해 코멘트 할 수는 없습니다 ... – alexis