Ir para conteúdo

POWERED BY:

biakelly

Erro ao cadastrar novo usuário

Recommended Posts

Meninos, estou recebendo um erro ao cadastrar usuário:

 

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/hqxz0o4/public_html/inc.functions.php on line 181

 

Tal erro aponta para esta linha:

if(mysqli_num_rows( $result ) >= 1)

código completo:

 

function already_exists($column, $value) {

	global $dbHandle, $db_tblUsrs;

	$sql = "SELECT * FROM $db_tblUsrs WHERE $column = '$value'";
	$result = mysqli_query($dbHandle, $sql);

	if(mysqli_num_rows( $result ) >= 1)
		return true;
	else
		return false;
}

function check_login($username, $password) {

	global $dbHandle, $db_tblUsrs;
	
	$sql = "SELECT * FROM $db_tblUsrs WHERE CL_username = '$username' and CL_password = '$password'";
	$result = mysqli_query($dbHandle, $sql);


	if(mysqli_num_rows($result) >= 1)
	{
		$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
		$_SESSION['loggedIn'] = true;
		$_SESSION['userdbid'] = $row['CL_id'];
		$_SESSION['username'] = $row['CL_username'];
		return true;
	} else {
		$_SESSION['loginError'] = "<font color='#FCC329'>USUÁRIO OU SENHA INCORRETA</font>";
		return false;
	}
	
}

 

 

Poderiam me ajudar entender esse erro e corrigi-lo?

Compartilhar este post


Link para o post
Compartilhar em outros sites


...

$result = mysqli_query($dbHandle, $sql);

$rows = $result->num_rows;

if($rows  >= 1){

return true;

}

else{

return false;

}

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Osmar, gerou erro:

 

Notice: Trying to get property 'num_rows' of non-object in

 

nesta linha:

 

$rows = $result->num_rows;

 

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 Kakaroto1309
      Preciso de uma ajuda para conectar com o banco. Estava tudo funcionando normalmente com MYSQL agora parou tudo e estou tentando trocar para MYSQLI.
      Não acho o erro, já tentei de tudo.
       
      connection.php
      <? function conecta() { $host = "localhost"; $user = "admin"; $pass = "123456789"; $db = "principal"; //Conexão $conexao = mysqli_connect($host, $user, $pass) or die("Erro na conexão:".mysqli_error()); //Selecionar BD mysqli_select_db($conexao,$db) or die("Erro ao selecionar BD"); } function desconecta() { mysqli_close(); } ?> validate.php
      <? if (empty($_POST) and (empty($_POST['cpUsuario']) OR empty($_POST['cpSenha']))) { header("Location: ../login.php"); exit; } else { include("connection.php"); conecta(); $varUsuario = $_POST['cpUsuario']; $varSenha = sha1($_POST['cpSenha']); $stt = "SELECT ID,txNome,txNivel FROM tbUsuario WHERE txUsuario='$varUsuario' and txSenha='$varSenha' LIMIT 1"; $sql = mysqli_query($conexao,$stt) or die(mysqli_error($conexao)); $existe = mysqli_num_rows($sql); if ($existe == 0) { echo "Login invalido ou inexistente na base"; exit; } else { $resultado = mysqli_fetch_assoc($sql); if (!isset($_SESSION)) { session_start(); } $_SESSION['UsuarioID'] = $resultado['ID']; $_SESSION['UsuarioNOME'] = $resultado['txNome']; $_SESSION['UsuarioNIVEL'] = $resultado['txNivel']; header("Location: ../menu.php"); exit; } } ?> O erro agora está dando o seguinte:
      PHP Warning:  mysqli_query() expects parameter 1 to be mysqli, null given in /home4/public_html/connection/validate.php on line 17
       
      Linha 17 é essa:
      $sql = mysqli_query($conexao,$stt) or die(mysqli_error($conexao));
       
      Se eu tiro o $conexao do mysqli_query ele da erro de "mysqli_query() expects at least 2 parameters, 1 given" e se eu coloco o erro é "mysqli_query() expects parameter 1 to be mysqli, null given"
       
      Alguem sabe como posso resolver isso?
    • Por ndias
      Estou com duvida se minha conexão está encerrando.
       
      Utilizo PDO para me conectar:
       
      public static function getDb(){ try { $db = new \PDO( 'mysql:host=localhost;dbname=xyz;charset=utf8', 'xyz', 'xyz1234', array( \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION ) ); return $db; } catch (PDOException $e) { echo "Erro de Conexão " . $e->getMessage() . "\n"; exit; } } public function __construct(\PDO $db) { $this->db = $db; } public function verifica(){ $sql = "SELECT * FROM tabela "; $result = $this->db->query($sql); $rows = $result->fetch(); if($rows){ }else{ } } public function __destruct() { unset($this->db); foreach ($this as $key => $value) { unset($this->$key); } } Estou fazendo certo? Como posso verificar se a conexão está ficando aberta?
    • Por Marcos melo sales
      2   Eu tenho um aplicativo cliente> servidor, onde são estabelecidas conexões usando componentes Socket ( TClientSocketdo cliente se conecta ao TServerSocketservidor). Agora, desejo que os clientes se conectem primeiro a um terceiro aplicativo (um tipo de "ponte de conexão" ou "repetidor") que será executado em um Windows VPS e deve direcionar essas conexões dos clientes para o aplicativo do servidor em execução no servidor pc. Exemplo:

       
       
      Provavelmente (não tenho certeza) esse tipo de "ponte de conexão" ou "repetidor" que será executado no VPS pode ser semelhante ao aplicativo de servidor que será executado no servidor pc, mas não sei como conectar e fazer o gerenciamento da conexão / desconexão e o envio / recebimento de dados entre esses três aplicativos. Alguém poderia me dizer como isso pode ser feito de uma maneira simples e, se possível, também fornecer um exemplo de código sobre isso?
      Abaixo segue o código do cliente e servidor (servidor que será executado no servidor pc), isso é tudo o que tenho até agora.
       
       
      Cliente
      uses ScktComp; type TForm1 = class(TForm) ClientSocket1: TClientSocket; Timer1: TTimer; Label1: TLabel; procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Connecting(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); procedure Timer1Timer(Sender: TObject); procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin Label1.Caption := 'CONNECTED'; end; procedure TForm1.ClientSocket1Connecting(Sender: TObject; Socket: TCustomWinSocket); begin Label1.Caption := 'CONNECTING...'; end; procedure TForm1.ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); begin Label1.Caption := 'DISCONNECTED'; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if not ClientSocket1.Active then ClientSocket1.Active := true; end; procedure TForm1.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin ErrorCode := 0; end; procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); var s: string; begin s := Socket.ReceiveText; if s = 'CMD' then Socket.SendText('Hello, here is Client: ' + Socket.LocalHost + '!'); end; end. Servidor:
      uses ScktComp; type TForm1 = class(TForm) ListView1: TListView; ServerSocket1: TServerSocket; PopupMenu1: TPopupMenu; SON: TMenuItem; SOFF: TMenuItem; SCMD: TMenuItem; procedure ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocket1ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure SONClick(Sender: TObject); procedure SOFFClick(Sender: TObject); procedure SCMDClick(Sender: TObject); procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); var Item: TListItem; begin Item := ListView1.Items.Add; Item.Caption := IntTostr(Socket.Handle); Item.SubItems.Add(Socket.RemoteAddress); Item.SubItems.Add(Socket.RemoteHost); Item.Data := Socket.Data; end; procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); var Item: TListItem; begin Item := ListView1.FindCaption(0, inttostr(Socket.Handle), false, true, false); if Item <> nil then Item.Delete; end; procedure TForm1.ServerSocket1ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin ErrorCode := 0; end; procedure TForm1.SONClick(Sender: TObject); begin ServerSocket1.Active := true; end; procedure TForm1.SOFFClick(Sender: TObject); begin ServerSocket1.Active := false; end; procedure TForm1.SCMDClick(Sender: TObject); begin if ListView1.Selected = nil then exit; ServerSocket1.Socket.Connections[ListView1.ItemIndex].SendText('CMD'); end; procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var s: string; begin s := Socket.ReceiveText; if s <> '' then ShowMessage(s); end; end.  
    • Por Matheus_Moura
      Boa tarde.
      Estou fazendo uma aplicação PHP em um PC Linux com Lubuntu como SO, para conexão com um banco de dados ORACLE 11g. Porém quando utilizo a função oci_connect ou qualquer outra função para oracle é retornado uma mensagem informando que estão indefenidas.
      Estou utilizando o XAMPP como servidor e fiz a configuração no caminho opt/lampp/etc/php.ini retirando o ; tanto no php_oci8.dll como também na php_oracle.dll, porém não obtive sucesso. Coloquei dentro da pasta opt também o instantclient já descompactado e utilizei o PECL para tentar ativar as OCI, porém mesmo assim ainda não consegui sucesso. Alguém teria alguma outra sugestão ?
       
      Att,
      Matheus Moura
×

Informação importante

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