Ir para conteúdo
Jefferson andre

Metodo indefinido no rowCount()

Recommended Posts

Meu codigo apresenta erro no rowCount, o banco de dados e a tabela abrem corretamente.
O erro eh apresentado no localhost e tambem no site 


Mensagem de erro:
Fatal error: Uncaught Error: Call to undefined method mysqli_result::rowCount() in C:\xampp1\htdocs\xcompbrasil\selecionandoDados.php:15 Stack trace: #0 {main} thrown in selecionandoDados.php on line 15

Linha 15:
 if($filtro->rowCount()>0) {

Cod. fonte:

<?php
$host_local = "localhost";
$db_local   = "xcompbrasil";
$user_local = "root";
$pass_local = "";

try {
 $arquivo = mysqli_connect($host_local, $user_local, $pass_local, $db_local) or die (mysql_error());
 // $arquivo = new PDO("mysql:host=root;dbname=xcompbrasil");
 //echo "Voce esta conectado";
 
 $filtro = "select * from usuarios_adm";
 $filtro = $arquivo->query($filtro);

 if($filtro->rowCount()>0) {
  echo "Existem informacoes";
 } else {
  echo "Informacoes nao encontradas";
 }

} catch (PDOException $e) {
 $error_mensagem = $e->getMessage() . "<br/>";
 echo "Error : " . $error_mensagem;
 exit();
}
?>


Alguem pode ajudar por favor ?
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Encontrei o erro, era na abertura da database pois estava sendo feita para funcionar com o mysqli_connect e nao com PDO

 

mudei esse:

  $arquivo = mysqli_connect($host_local, $user_local, $pass_local, $db_local) or die (mysql_error());

Para esse:

    $arquivo = new PDO("mysql:host=$host_local;dbname=$db_local", $user_local, $pass_local);    
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por eduardodsilvaq
      function efetuarLogin ($x, $y) { $connect = db_connect(); $queryl = $connect->query("SELECT * FROM usuarios WHERE login = ". $x ." AND senha = " . $y . " "); if ($queryl->rowCount() == 0) { echo $x; echo $y; echo "<script>alert('Dados de Login incorretos.'); history.back();</script>"; exit; } else { setcookie("login",$x); header("Location:index.php"); exit; } } Esse código tem algum erro nessa linha:
      $queryl = $connect->query("SELECT * FROM usuarios WHERE login = ". $x ." AND senha = " . $y . " "); Nao consigo validar o login mesmo que os dados estejam corretos. Alguém da uma ajuda? 
       
    • Por Lucas Antonio
      Estou com um problema de rowCount bom vou explicar da melhor forma possível meu erro e irei mostrar abaixo, eu fiz a conexão externa por config.php com class e na hora deu puxar na index.php da erro de rowCount e se não declaro ela na index ele não procede.
       
      Código do config.php
      <?php class Conexao{ private $db; public function __construct(){ try{ $this->db = new PDO("mysql:dbname=parceiros;host=localhost", "root", "root"); }catch(PDOException $e){ echo "FALHA: ".$e->getMessage(); } } public function verificar($email, $senha){ $sql = ("SELECT * FROM usuarios WHERE email = ':email' AND senha = ':senha' "); $sql = $this->db->prepare($sql); $sql->bindValue(':email', $email); $sql->bindValue(':senha', $senha); $sql->execute(); $array = array(); if($sql->rowCount() > 0){ $array = $sql->fetch(); $_SESSION['id'] = $array['id']; } return $array; } } Código do index.php
      <?php require "asset/config/config.php"; if(isset($_POST['mail']) && empty($_POST['mail']) == false){ $email = addslashes($_POST['mail']); $senha = md5(addslashes($_POST['pass'])); $dsn = new Conexao(); $sql = $dsn->verificar($email, $senha); if($dsn->rowCount() > 0){ $_SESSION['id'] = $array['id']; header("Location: painel/index.php"); } } ?>  
    • Por Rodrigo5468
      Olá.
       
      Eu tenho um CRUD, porem no insert eu quero verificar se os dados existem na tabela, se existir ele não insere os mesmos dados. Pois a minha intenção é fazer um sistema de Cadastro e Login. Segue o código abaixo.
      <?php require_once 'Crud.php'; class Usuarios extends Crud { protected $table = 'usuarios'; private $usuario; private $email; private $senha; public function setUsuario($usuario) { $this->usuario = $usuario; } public function setEmail($email) { $this->email = $email; } public function setSenha($senha) { $options = [ 'cost' => 11, ]; $this->senha = password_hash($senha, PASSWORD_BCRYPT, $options); if(password_verify($senha, $this->senha)){ return true; } return false; } public function insert() { $sql = "INSERT INTO $this->table (usuario, email, senha) VALUES (:usuario, :email, :senha)"; $stmt = DB::prepare($sql); $stmt->bindParam(':usuario', $this->usuario); $stmt->bindParam(':email', $this->email); $stmt->bindParam(':senha', $this->senha); return $stmt->execute(); } public function update($id) { $sql = "UPDATE $this->table SET usuario = :usuario, email = :email, senha = :senha WHERE id = :id"; $stmt = DB::prepare($sql); $stmt->bindParam(':usuario', $this->usuario); $stmt->bindParam(':email', $this->email); $stmt->bindParam(':senha', $this->senha); $stmt->bindParam(':id', $id); return $stmt->execute(); } } Eu sei que tenho que dar um SELECT na tabela e verificar se existe com um rowCount... eu acho, não tenho certeza.
      Como eu posso fazer isso? Ah, e também queria verificar se os dados estão preenchidos. Lá na página registro.php eu fiz assim.
      <?php $usuarios = new Usuarios(); if(isset($_POST["usuario"]) && isset($_POST["email"]) && isset($_POST["senha"]) && isset($_POST["checkregistro"])) { if(empty($_POST["usuario"]) OR empty($_POST["email"]) OR empty($_POST["senha"]) OR empty($_POST["checkregistro"])) { echo '<div id="register-erro" style="display:none;z-index:1000;">Ainda tem campos vazios.</div>'; }else { if(isset($_POST['cadastrar'])) { $usuario = $_POST["usuario"]; $email = $_POST["email"]; $senha = $_POST["senha"]; $usuarios->setUsuario($usuario); $usuarios->setEmail($email); $usuarios->setSenha($senha); #Insert if($usuarios->insert()) { echo '<div id="registro-feito" style="display:none;z-index:1000;">Conta registrada com sucesso!</div>'; } } } } ?> O que devo fazer para verificar se existe os dados no banco? E como fazer, me da uma dica, por favor.
       
       
      Obrigado desde já.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.