Ir para conteúdo

POWERED BY:

Arquivado

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

A. Sobrinho

[Resolvido] erro mysql_num_rows() expects parameter 1

Recommended Posts

estou desenvolvendo um projeto baseado nos codigos de um livro php, la tem o codigo e o banco pronto na teoria ta funcionado mas na pratica esta dando esse erro:

mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\localhost\www\php5\index.php on line 24

 

mysql_free_result() expects parameter 1 to be resource, boolean given in C:\localhost\www\php5\index.php on line 136

 

ja pesquisei bastante na net consegui ocultar o erro mas não resolver. a linha com problema é essa que marquei de vermelho.

 

 

<?php

 

 

include "inc_dbConexao.php";

session_start();

// ordenação das miniaturas por ordem de preço

 

 

$ordenar = isset($_GET["ordenar"])?$_GET["ordenar"]:false;

if($ordenar == ""){

$ordenar = "preco DESC";

} else {

$ordenar = $_GET['ordenar'];

}

 

$sql= "SELECT* ";

$sql= $sql . "FROM miniaturas";

$sql= $sql . "WHERE destaque = 'S'";

$sql= $sql . "ORDER BY" . $ordenar;

 

$rs = mysql_query ($sql, $conexao);

$total_registros = mysql_num_rows($rs);

 

 

?>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Faça um Site - PHP 5 com banco de dados MySQL</title>

<link href="estilo_site.css" rel="stylesheet" type="text/css" />

<script type="text/JavaScript">

<!--

// Função para abertura da janela de imagens ampliadas

function ampliar_imagem(url,nome_janela,parametros) {

window.open(url,nome_janela,parametros);

}

//-->

</script>

</head>

<body>

<div id="corpo">

 

<!-- Logomarca e mneu superior -->

<div id="topo">

<?PHP include "inc_menu_superior.php" ?>

</div>

 

<!-- Menu de categorias -->

<div id="menuSup">

<?PHP include "inc_menu_categorias.php" ?>

</div>

 

<!-- Decoração Home page -->

<div id="deco_home"><img src="imagens/deco_home.jpg" width="800" height="285" /></div>

 

<!-- Título da página e Ordenação de registros -->

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<!-- Título da página e total de registros exibidos -->

<td width="42%"><h1>Destaques <span class="c_cinza">[Total de itens em destaque: <?PHP print $total_registros; ?>]</span></h1></td>

<!-- Links de ordenação -->

<td width="58%" align="right" valign="bottom">Ordenar por:  

<?PHP if ($ordenar == "preco ASC") { ?>

<span class="radio_sel">Menor preço </span><a href="index.php?ordenar=preco DESC" class="link_radio">Maior preço </a>

<?PHP } else { ?>

<a href="index.php?ordenar=preco ASC" class="link_radio">Menor preço </a><span class="radio_sel">Maior preço </span>

<?PHP } ?>

</td>

</tr>

</table>

 

<!-- exibição dos itens -->

<div id="caixa">

<table width="100%" border="0" cellpadding="0" cellspacing="0">

<?PHP

for($contador=0; $contador < $total_registros; $contador++) {

$reg = mysql_fetch_array($rs);

$codigo = $reg["codigo"];

$nome = $reg["nome"];

$estoque = $reg["estoque"];

$min_estoque = $reg["min_estoque"];

$preco = $reg["preco"];

$desconto = $reg["desconto"];

$credito = $reg["credito"];

$valor_desconto = $preco - ($preco * $desconto / 100);

 

// Exibe dados da coluna esquerda

if ($contador % 2 == 0) {

?>

<tr>

<td width="20%" valign="top"><a href="#"><img src="imagens/<?PHP print $codigo; ?>.jpg" width="140" height="85" border="0" onclick="ampliar_imagem('ampliar.php?codigo=<?PHP print $codigo; ?>&nome=<?PHP print $nome; ?>','','width=522,height=338,top=50,left=50')" /></a><br />

<img src="imagens/btn_ampliar1.gif" width="140" height="16" border="0" />

</td>

<td width="30%" valign="top">

<span class="titulo_miniatura"><?PHP print $nome; ?></span><br />

<span class="preco_normal">de: R$ <?PHP print number_format($preco,2,',','.'); ?></span><br />

Por: <span class="destaque_preco">R$ <?PHP print number_format($valor_desconto,2,',','.'); ?></span> à vista<br />

<span class="credito_imagem">crédito da imagem: <?PHP print $credito; ?></span><br />

<a href="detalhes.php?produto=<?PHP print $codigo; ?>" class="link_detalhes">Mais detalhes</a>

<?PHP if ($estoque < $min_estoque) { ?><img src="imagens/btn_detalhes_nd.gif" hspace="15" vspace="5" border="0"><?PHP } ?>

</td>

<?PHP

// Exibe dados da coluna direita

} else {

?>

<td width="20%" valign="top"><a href="#"><img src="imagens/<?PHP print $codigo; ?>.jpg" width="140" height="85" border="0" onclick="ampliar_imagem('ampliar.php?codigo=<?PHP print $codigo; ?>&nome=<?PHP print $nome; ?>','','width=522,height=338,top=50,left=50')" /></a><br />

<img src="imagens/btn_ampliar1.gif" width="140" height="16" border="0" />

</td>

<td width="30%" valign="top">

<span class="titulo_miniatura"><?PHP print $nome; ?></span><br />

<span class="preco_normal">de: R$ <?PHP print number_format($preco,2,',','.'); ?></span><br />

Por: <span class="destaque_preco">R$ <?PHP print number_format($valor_desconto,2,',','.'); ?></span> à vista<br />

<span class="credito_imagem">crédito da imagem: <?PHP print $credito; ?></span><br />

<a href="detalhes.php?produto=<?PHP print $codigo; ?>" class="link_detalhes">Mais detalhes</a>

<?PHP if ($estoque < $min_estoque) { ?><img src="imagens/btn_detalhes_nd.gif" hspace="15" vspace="5" border="0"><?PHP } ?>

</td>

</tr>

<tr><td colspan="4"> </td></tr>

<?PHP

} // Encerra o Else

} // Encerra o for

?>

</table>

</div>

 

<!-- rodape da página -->

<?PHP include "inc_rodape.php" ?>

</div>

</body>

</html>

<?PHP

// Libera os recursos usados pela conexão atual

mysql_free_result($rs);

mysql_close ($conexao);

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já conferi e esta tudo certo até porque tem outras partes do site como psquisa de produto que vai na mesma tabela esta funcionando, só a home que deveria mostrar umas imagens e textos não esta mostrando e aparece esse erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso mesmo amigo willian...

 

você está trabalhando em localhost, se o erro for notice basta colocar o @ antes das funções que está dando erro que ele desaparece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, primeiramente obrigado por sua dúvida.

 

Pelo que pude perceber se trata de um erro simples onde a query fornecida para consulta não está válida. Pelo que olhei em seu código tenho quase certeza que o erro é este: $sql= "SELECT* "; onde o * (asterisco) teria que ficar separado do SELECT, desta forma: $sql= "SELECT * ";

 

Qualquer dúvida basta me adicionar no Skype: julianoamaral_powerinside e ficarei feliz em ajudá-lo.

 

Abraços. Sucesso sempre!

Compartilhar este post


Link para o post
Compartilhar em outros sites

afastei o asterisco e continuou o problema, o @ eu ja tinha usado some a mensagem, mas era para aparecer imagem igual a esse site que por sinal é o mesmo os codigos são tirado do livro e esse site é o exemplo.

 

http://www.oliviero.com.br/php5/index.php

 

Onde vai as imagens dos carros com descrição não aparece se de um clic em pesquisar e selecionar a categoria ai sim aparecem todos, mas se usar os links do menu da os erros

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\localhost\www\php5\categorias.php on line 18

 

Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in C:\localhost\www\php5\categorias.php on line 133

 

em todas pagina do menu, ja conferi linha por linha no livro e esta certa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu testei aqui não deu, ai fui mexendo nos códigos e o erro tava nas aspas

$sql= "SELECT * ";

$sql= $sql . "FROM miniaturas";

$sql= $sql . "WHERE id_categoria'" . $cat_id . "' ";

$sql= $sql . "ORDER BY" . $ordenar ;

 

coloquei espaço nas aspas " ORDER BY " e resolveu.

muito obrigado pela atenção

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.