COMO FAZER CONSULTA COM PDO

Como solucionar o erro “ERROR: bind message supplies 1 parameters, but prepared statement \“pdo_stmt_00000002\” requires 2”?

Como solucionar o erro “ERROR: bind message supplies 1 parameters, but prepared statement \“pdo_stmt_00000002\” requires 2”?

A quantidade de passagem de parâmetros devem ser ajustadas.

Esse erro ocorre quando há parâmetros  pedidos no sql que não estão declarados na passagem por bindValue ou bindParam.

Por exemplo:


$sql = "SELECT * FROM usuario WHERE id = :codigo AND us.senha = :senha";
            $query = $db->prepare($sql);
            $query->bindParam(':codigo', $user, PDO::PARAM_INT);
            $query->execute();

Faltou ser informado na query o bindParam :senha por isso está ocorrendo o erro.
Para corrigir basta inserir mais uma query ficando assim:

$sql = "SELECT * FROM usuario WHERE id = :codigo AND us.senha = :senha";
            $query = $db->prepare($sql);
            $query->bindParam(':codigo', $user, PDO::PARAM_INT);
            $query->bindParam(':codigo', $user, PDO::PARAM_INT);
            $query->execute();



botão de compartilhamento whatsapp botão de compartilhamento no twiter botão de compartilhamento do site botão de compartilhamento no linkedin botão de compartilhamento whatsapp