Ir ao conteúdo
  • Cadastre-se

PHP Erro do Mysqli fetch row esperando um parâmetro


Posts recomendados

Bom quero mostrar a lista de lojas que tem um certo nome ou começam com esse nome so que ta dando um erro e não sei qual é

o nome do erro é esse:

Warning: mysqli_fetch_row() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\projeto\consultarTeste.php on line 17

 

a linha 17 é essa :  while ($vloj=mysqli_fetch_row($res)) {

 

 

 

<?php
include "conexao.php";
$nomeLoja=$_POST["nloja"];//"nloja");
$nomeGerente=$_POST["ngerente"];    //"ngerente");
$nomeCidade=$_POST["ncidade"];    // "ncidade");
$nomeBairro=$_POST["nbairro"];    // "nbairro");
$numeroEstabele=$_POST["nmr"];//, "nmr");
$nomeRua=$_POST["nrua"];// "nrua");
$nomeEstado=$_POST["nestado"];//"nestado");
$telefone=$_POST["tel"];//"tel");

$sql = "SELECT * FROM lojas WHERE nome = $nomeLoja";
$res=mysqli_query($con,$sql);
while ($vreg=mysqli_fetch_row($res)) {
    $vid=$vreg[0];
    $vnome=$vreg[1];
    $vgerente=$vreg[2];
    $vrua=$vreg[3];
    $vbairro=$vreg[4];
    $vnumero=$vreg[5];
    $vuf=$vreg[6];
    $vcidade=$vreg[7];
    $vtel=$vreg[8];
    echo "$vid<br/>$vnome<br/>$vgerente<br/>$vrua<br/>$vbairro<br/>$vnumero<br/>$vuf<br/>$cidade<br/>$vtel<br/>";
}
?>

 

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Jaime Neto23 Olá,  se é só uma consulta de lista de nomes de loja, não precisa dos outros $_POST apenas do nome da loja.

 

Além disso, pode ser que sua instrução SQL esteja faltando aspas na clausula do where.

34 minutos atrás, Jaime Neto23 disse:

um certo nome ou começam com esse nome

Para fazer isso use o LIKE com coringas.

 

Desta forma:

 

$sql = "SELECT * FROM lojas WHERE nome LIKE '%$nomeLoja%' ";

Assim,  ele procura nomes que começam ou tenham em algum outro lugar o nome que pesquisou.

 

PS:  Acostume-se SEMPRE a testar o seu SQL diretamente no phpmyadmin. Assim você não precisa ficar perdendo tempo para entender onde errou se é SQL ou php.

 

 

Link para o comentário
Compartilhar em outros sites

Funcionou , começar a testar os SQL mesmo valeu ae pela dica

E eu so fiz o da loja 1° pra depois aplicar nos outros valeu ae 

adicionado 54 minutos depois

Ei mano sabe como eu coloco tabela do html dentro do php o que eu quero fazer é listar os resultados em uma tabela so que ta dando ***** hasuahsuahsau  EU to fznd muito errado eu acho, porque n tenho noção como se faz isso

 

 

<?php
include "conexao.php";

    $nomeLoja=$_POST["nloja"];//"nloja");
    $nomeGerente=$_POST["ngerente"];    //"ngerente");
    $nomeCidade=$_POST["ncidade"];    // "ncidade");
    $nomeBairro=$_POST["nbairro"];    // "nbairro");
    $numeroEstabele=$_POST["nmr"];//, "nmr");
    $nomeRua=$_POST["nrua"];// "nrua");
    $nomeEstado=$_POST["nestado"];//"nestado");
    $telefone=$_POST["tel"];//"tel");


    $sql = "SELECT * FROM lojas WHERE nome LIKE '%$nomeLoja%' ";
    $res=mysqli_query($con,$sql);         


        

$li = mysqli_num_rows($res);
echo "$li registros encontrados<br/>";


?>

<table>
  <tr>
    <th>Id</th>
    <th>Nome Loja</th>
    <th>Nome Gerente</th>
    <th>Rua</th>
    <th>Bairro</th>
    <th>Número Estabele.</th>
    <th>Estado</th>
    <th>Cidade</th>
    <th>Telefone</th>
  </tr>
<?php
  while ($vloj=mysqli_fetch_row($res)) {
        $vid=$vloj[0];
        $vnome=$vloj[1];
        $vgerente=$vloj[2];
        $vrua=$vloj[3];
        $vbairro=$vloj[4];
        $vnumero=$vloj[5];
        $vuf=$vloj[6];
        $vcidade=$vloj[7];
        $vtel=$vloj[8];

        echo"<tr>
    <td><?php echo "$vid"; ?></td>
      <td><?php echo "$vnome"; ?></td>
        <td><?php echo "$vgerente"; ?></td>
          <td><?php echo "$vrua"; ?></td>
            <td><?php echo "$vbairro"; ?></td>
              <td><?php echo "$vnumero"; ?></td>
                <td><?php echo "$vuf"; ?></td>
                  <td><?php echo "$vcidade"; ?></td>
                  <td><?php echo "$vtel"; ?></td>
                  
  
  </tr>";

    }
    ?>

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...