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>
';
쿼리 문자열의 값을 연결하는 경우 준비된 문을 사용할 필요가 없습니다. 그것은 준비된 진술을위한 것이 아닙니다. –
그건 내 문제를 해결하지 못합니다. $ pdo-> query()로 바꿨다. 똑같은 일이 일어난다. – Parthanaux