Najprawdopodobniej mamy tutaj do czynienia z ciągami znaków, więc zmienne w Twoich wartościach muszą być ujęte w cudzysłów.
WHERE ens_cin='$login' AND ens_pass='$password'";
Ponadto samo używanie PDO nie oznacza, że jesteś bezpieczny przed wstrzyknięciem SQL.
Wgląd:
Upewnij się, że rzeczywiście łączysz się przez PDO, a nie mysqli_
. Często spotykam się z tego typu pytaniami.
W takim przypadku te różne interfejsy API MySQL nie mieszają się ze sobą.
Teraz to:
$password=$_GET["password"];
Przekazywanie hasła przez GET również nie jest bezpieczne; nie wiesz, kto może „podsłuchiwać”. Powinieneś używać POST. Mam również nadzieję, że do przechowywania haseł używasz skrótu, a nie zwykłego tekstu.
Uwaga dodatkowa:upewnij się, że rzeczywiście używasz GET i nie mieszasz z POST, jeśli pochodzi on z formularza HTML.
Prawdopodobnie nie sprawdzasz błędów.
Dodaj $idconnex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
zaraz po otwarciu połączenia.
Dodaj zgłaszanie błędów na górze pliku (plików), co pomoże znaleźć błędy.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
Uwaga boczna: Zgłaszanie błędów powinno być wykonywane tylko w fazie tymczasowej, nigdy w produkcji.