Mysql
 sql >> Database >  >> RDS >> Mysql

Errore PHP:chiamata a una funzione membro rowCount() su un non oggetto

Molto probabilmente abbiamo a che fare con stringhe qui, quindi le variabili nei tuoi valori devono essere virgolette.

WHERE ens_cin='$login' AND ens_pass='$password'";

Inoltre, il solo utilizzo di PDO da solo non significa che sei al sicuro contro l'iniezione di SQL.

Uno sguardo:

Assicurati di connetterti effettivamente tramite PDO e non mysqli_ . Vedo spesso questo tipo di domande.

In tal caso, le diverse API MySQL non si mescolano tra loro.

Ora questo:

$password=$_GET["password"];

Anche il passaggio di una password attraverso un GET non è sicuro; non sai chi potrebbe "ascoltare". Dovresti usare POST. Spero anche che tu stia utilizzando un hash e non un testo normale per l'archiviazione della password.

Nota a margine:assicurati di utilizzare effettivamente GET e di non essere confuso con POST, nel caso provenisse da un modulo HTML.

Probabilmente non stai verificando la presenza di errori.

Aggiungi $idconnex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); subito dopo l'apertura della connessione.

Aggiungi segnalazione errori nella parte superiore dei tuoi file che ti aiuteranno a trovare gli errori.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Nota a margine: La segnalazione degli errori dovrebbe essere eseguita solo nella gestione temporanea e mai nella produzione.