Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ademildo Medeiros Jr.

Fatal error: Uncaught Error: Call to undefined function mysqli_result() in

Recommended Posts

O seguinte erro aparece:

 

Fatal error: Uncaught Error: Call to undefined function mysqli_result

 

o codigo da pagina é esse:

<?php
session_start();
include ("../config/conexao.php");


$cliente_username = $_POST["usuario"];
$cliente_password = $_POST["senha"];
$enviado          = $_POST["enviado"];

if ($enviado == "posted"){    
    
if (!isset($cliente_username) or !isset($cliente_password)) {

    echo "Erro!";
    exit;

}

if (empty($cliente_username) or empty($cliente_password)) {

    echo "Dados inválidos!";
    exit;

}

$query = "SELECT * FROM tbl_usuarios WHERE email = '$cliente_username' AND senha = '$cliente_password'";
$result = mysqli_query($conexao, $query);
$number = mysqli_num_rows($result);

if ($number==0) {

?>

    <script>alert('Autorização inexistente/Senha inválida ou expirada.');history.back();</script>

<?php

    exit;

} else {

    $_SESSION['usuario_id'] = mysqli_result($result,0,'id');
    $_SESSION['usuario_nome'] = mysqli_result($result,0,'nome');

?>
    
    <script>document.location = '../principal.php'</script>
    
    <?php
}

mysql_close($conexao);    

}

?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente isso:

troque essas linhas:

Em 21/04/2018 at 16:57, Ademildo Medeiros Jr. disse:

$_SESSION['usuario_id'] = mysqli_result($result,0,'id');
    $_SESSION['usuario_nome'] = mysqli_result($result,0,'nome');

 

por essas:

while ($dados=mysqli_fetch_array($result)){
$_SESSION['usuario_id'] = $dados['id'];
$_SESSION['usuario_nome'] = $dados['nome'];
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

A biblioteca MySQLi não possui a função mysqli_result. Na realidade, ela é uma classe que é retornada pelo método mysqli_query ou pelo método mysqli_stmt::get_result (quando utilizado um prepared statement).

 

Mysqli_query return value:

Citar

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.

1

 

Mysqli_stmt::get_result:

Citar

Returns a resultset for successful SELECT queries, or FALSE for other DML queries or on failure. The mysqli_errno() function can be used to distinguish between the two types of failure.

 

 

O que você está fazendo é cair no erro de transcrever um script utilizando funções mysql_* para a biblioteca mysqli. Elas são parecidas, mas não são 1:1.

 

O que você pode fazer é utilizar o retorno imediato de mysqli_query, que retorna um objeto mysqli_result, e iterar sobre o resultado utilizando alguma função fetch, tal qual a mysqli_result::fetch_assoc.

 

Versão orientada à objetos:

$querySelect = mysqli_query($conn,$query);
while($row = $querySelect->fetch_assoc())
{
    //iteração de cada resultado
}

Versão procedural:

$querySelect = mysqli_query($conn,$query);
while($row = mysqli_fetch_assoc($querySelect))
{
    //iteração de cada resultado
}

 

Fonte: https://pt.stackoverflow.com/a/276718/5007

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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