Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro PHP:Chamada para uma função de membro rowCount() em um não-objeto


Estamos mais do que provavelmente lidando com strings aqui, então as variáveis ​​em seus valores precisam ser citadas.
WHERE ens_cin='$login' AND ens_pass='$password'";

Além disso, apenas usar o PDO sozinho não significa que você está seguro contra injeção de SQL.

Um insight:

Certifique-se de que você está realmente se conectando através do PDO e não do mysqli_ . Eu vejo esses tipos de perguntas com frequência.

Se for esse o caso, essas diferentes APIs do MySQL não se misturam.

Agora isso:
$password=$_GET["password"];

Passar uma senha através de um GET também não é seguro; você não sabe quem pode estar "ouvindo". Você deve estar usando POST. Espero também que você esteja usando um hash e não um texto simples para armazenamento de senhas.

Nota lateral:Certifique-se de que você está realmente usando GET e não misturado com POST, caso isso venha de um formulário HTML.

Você provavelmente não está verificando erros.

Adicione $idconnex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); logo após a conexão ser aberta.

Adicionar relatório de erros para o topo do(s) seu(s) arquivo(s), o que ajudará a encontrar erros.
<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Nota: O relatório de erros deve ser feito apenas na preparação e nunca na produção.