2014-05-17 3 views
0

첫 번째 SQL 문만 유효한 결과를 반환합니다. 다른 사람들은 0을 반환합니다. 나는 그 이유를 알 수 없습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 다음은 코드입니다.PDO가 행 수 대신 0을 반환합니다.

$year = htmlspecialchars($_POST['year']); 
$ukupan_broj_servisa="SELECT COUNT(*) FROM services WHERE date BETWEEN '$year-01-01' AND '$year-12-31'"; 
$ukupan_broj_malih_servisa="SELECT COUNT(*) FROM services WHERE service_mali > '' AND date BETWEEN '$year-01-01' AND '$year-12-31'"; 
$ukupan_broj_velikih_servisa="SELECT COUNT(*) FROM services WHERE service_veliki > '' AND date BETWEEN '$year-01-01' AND '$year-12-31'"; 
$ukupan_broj_kola="SELECT COUNT(*) FROM cars"; 
$stmtser = $pdo->prepare($ukupan_broj_servisa); 
$stmtmali = $pdo->prepare($ukupan_broj_malih_servisa); 
$stmtveliki = $pdo->prepare($ukupan_broj_velikih_servisa); 
$stmtkola = $pdo->prepare($ukupan_broj_kola); 
try { 
    $stmtser->execute(); 
    $stmtmali->execute(); 
    $stmtveliki->execute(); 
    $stmtkola->execute(); 
} catch (PDOException $e) { 
    echo "Došlo je do greške u bazi podataka. Molimo pokušajte kasnije ili kontaktirajte administratora."; 
    echo $e; 
    exit(); 
} 
echo ' 
    <label id="brojvozila">'.$stmtkola->fetchColumn(0).'</label> 
    <label id="brojservisa">'.$stmtser->fetchColumn(0).'</label> 
    <label id="brojmalihservisa">'.$stmtmali->fetchColumn(0).'</label> 
    <label id="brojvelikihservisa">'.$stmtveliki->fetchColumn(0).'</label> 
'; 
+4

쿼리 문자열의 값을 연결하는 경우 준비된 문을 사용할 필요가 없습니다. 그것은 준비된 진술을위한 것이 아닙니다. –

+0

그건 내 문제를 해결하지 못합니다. $ pdo-> query()로 바꿨다. 똑같은 일이 일어난다. – Parthanaux

답변

0

해결책을 찾았습니다. MySQL 서버를 다시 설치했는데 성공했습니다.