Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number in
aldığım hata bu,
eğer bu kısmı
WHERE (studentNAME LIKE :term
OR studentInstitutionNUMBER LIKE :term
OR studentSSN LIKE :term)böyle değiştirirsem bir problem yok,WHERE studentNAME LIKE :termmuhtemelen burada hata var, bir türlü çözemedim.
$params = [
':term' => '%' . $searchTerm . '%',
':institutionId' => $institutionId
];<?php
include 'config/config.php'; // Veritabanı bağlantısını sağlayan dosya
session_start();
$institutionId = isset($_SESSION['id']) ? $_SESSION['id'] : null;
if (!$institutionId) {
http_response_code(401);
echo json_encode(["error" => "Yetkisiz erişim."]);
exit;
}
$searchTerm = isset($_GET['term']) ? $_GET['term'] : '';
try {
// SQL sorgusunu hazırlama
$sql = "SELECT studentID, studentNAME, studentSURNAME, studentInstitutionNUMBER, studentSSN
FROM students
WHERE (studentNAME LIKE :term
OR studentInstitutionNUMBER LIKE :term
OR studentSSN LIKE :term)
AND studentInstitutionID = :institutionId";
// PDO statement hazırlama
$stmt = $pdo->prepare($sql);
// Parametreleri bağlama
$params = [
':term' => '%' . $searchTerm . '%',
':institutionId' => $institutionId
];
// Sorguyu çalıştırma
$stmt->execute($params);
// Sonuçları alıp JSON olarak dönme
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($results);
} catch (PDOException $e) {
// Hata durumunda PDO istisnasını yakalama
echo "Veritabanı hatası: " . $e->getMessage();
}
?>