2013-11-29 2 views
-1

pdo를 사용하여 간단한 행 수를 계산하고 '객체가 아닌 객체에 대한 호출'멤버 함수를 호출하는 중 '오류가 발생합니다. PDO가 처음인데 완벽하게 잘 작동합니다 ... 안돼요? 검색은 올바른 방법으로 사용되는 동일한 방법을 보여줍니다. 어쩌면 나는 그저 피곤한가?pdo를 사용하여 간단한 행 수 얻기

세션 변수가 유효합니다.

function get_computer_count(){ 
    $sql = "SELECT COUNT(*) FROM computers WHERE account_id == '".$_SESSION['account']['account_id']."'"; 
    $results = $db->query($sql); 
    $row = $results->fetch(PDO::FETCH_NUM); 
    return $row[0]; 
} 
+0

지역 사회가 어떤 rep 지점을 낚아 채는 대신에 예를 들어 중복 된 질문을 끝내기 시작했는지 궁금합니다. 결코, 나는 생각한다. Rep가 왕이다. 이미 답변 된 질문이나 헌신적 인 레퍼런스 질문조차도 없습니다. –

답변

1

두 가지 오류가 있습니다.

개체가 아닌 개체의 query() 멤버 함수를 호출합니다.

처음으로, PDO 개체를 구성하지 않았습니다.

처럼 :

$db = new PDO($dsn, $user, $password); 

둘째는, 당신은 쿼리에서 오류가 발생 가능성이 가장 높은 것. MySQL에서의 동등 비교는 ==이 아니고 =입니다. 아니 내가 account_id가 문자 필드가 아닌 경우 아포스트로피를 추가하지 않는 것이 좋습니다 측면으로

SELECT COUNT(*) FROM computers WHERE account_id = '".$_SESSION['account']['account_id']."' 

:

이보십시오.

+0

아니요, PDO 개체가 없습니다 –

+0

와우, 옳은 것 같습니다. 어쨌든 한 번 오류를 수정하면 MySQL은'=='에 대해서도 불평 할 것입니다. –

+0

맞습니다. 물론 오류이기도합니다. –

관련 문제