Wir haben es hier höchstwahrscheinlich mit Zeichenfolgen zu tun, daher müssen die Variablen in Ihren Werten in Anführungszeichen gesetzt werden.
WHERE ens_cin='$login' AND ens_pass='$password'";
Außerdem bedeutet die Verwendung von PDO allein nicht, dass Sie vor SQL-Injection sicher sind.
Eine Erkenntnis:
Stellen Sie sicher, dass Sie sich tatsächlich über PDO und nicht über mysqli_
verbinden . Ich sehe diese Art von Fragen oft.
Wenn das der Fall ist, vermischen sich diese verschiedenen MySQL-APIs nicht miteinander.
Jetzt das:
$password=$_GET["password"];
Das Übergeben eines Passworts durch ein GET ist auch nicht sicher; Sie wissen nicht, wer "mithört". Sie sollten POST verwenden. Ich hoffe auch, dass Sie einen Hash und keinen Klartext für die Passwortspeicherung verwenden.
Nebenbemerkung:Stellen Sie sicher, dass Sie tatsächlich GET verwenden und nicht mit POST verwechselt werden, sollte dies von einem HTML-Formular kommen.
Wahrscheinlich suchen Sie nicht nach Fehlern.
Fügen Sie $idconnex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
hinzu direkt nachdem die Verbindung geöffnet wurde.
Fügen Sie Fehlerberichterstattung hinzu an den Anfang Ihrer Datei(en), um Fehler zu finden.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
Nebenbemerkung: Die Fehlerberichterstattung sollte nur in der Staging- und niemals in der Produktionsumgebung erfolgen.