sql >> Base de Datos >  >> RDS >> Mysql

Error de PHP:llamada a una función miembro rowCount () en un no objeto

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.