Lo más probable es que estemos tratando con cadenas aquí, por lo que las variables en sus valores deben estar entre comillas.
WHERE ens_cin='$login' AND ens_pass='$password'";
Además, el simple hecho de usar PDO por sí solo no significa que esté a salvo de la inyección SQL.
Una idea:
Asegúrese de que realmente se está conectando a través de PDO y no mysqli_
. Veo este tipo de preguntas a menudo.
Si ese es el caso, esas diferentes API de MySQL no se mezclan entre sí.
Ahora esto:
$password=$_GET["password"];
Pasar una contraseña a través de un GET tampoco es seguro; no sabes quién puede estar "escuchando". Deberías estar usando POST. También espero que esté utilizando un hash y no texto sin formato para el almacenamiento de contraseñas.
Nota al margen:asegúrese de estar usando GET y no mezclarlo con POST, en caso de que provenga de un formulario HTML.
Probablemente no esté buscando errores.
Agregue $idconnex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
justo después de que se abra la conexión.
Agregue informe de errores en la parte superior de su(s) archivo(s), lo que ayudará a encontrar errores.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
Nota al margen: El reporte de errores solo debe hacerse en staging, y nunca en producción.