Jump to content
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 ?
 

Share this post


Link to post
Share on other 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);    
 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By 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? 
       
    • By 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"); } } ?>  
    • By 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á.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.