Ir para conteúdo

POWERED BY:

Arquivado

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

mrkbca

Erro com order by

Recommended Posts

Boa noite galera, gostaria de uma ajuda de vocês, estou desenvolvendo uma loja virtual e nessa parte aqui eu agarrei e não estou conseguindo resolver, se puderem me ajudar.

 

Segue abaixo o erro

 

1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by PROD_DESCRICAO' at line 1

 

ADOConnection._Execute(select * from tbl_produto where CAT_CODIGO = order by PROD_DESCRICAO, false) % line 1046, file: adodb.inc.php
ADOConnection.Execute(select * from tbl_produto where CAT_CODIGO = order by PROD_DESCRICAO) % line 25, file: carrinho_manu.php
carrinho_manu.listar_produtos_da_categoria(null) % line 7, file: carrinho_acao.php
require(C:\wamp\www\carrinho_compras\carrinho_acao.php) % line 58, file: index.php

 

Segue abaixo o codigo

//echo "manu_carrinho<br>";

class carrinho_manu
{
    var $resultado;
    var $registros;
    var $resultado_img;
    
    function carrinho_manu() //Metodo construtor
    {
        $this->con = new conexao();
    }
    
    function listar_categoria()
    {
        $sql = "select * from tbl_categoria";
        $this->resultado = $this->con->banco->Execute($sql);
    }
    
    function listar_produtos_da_categoria($codigo_categoria)
    {
        $sql = "select * from tbl_produto where CAT_CODIGO = ".$codigo_categoria." order by PROD_DESCRICAO";
        $this->resultado = $this->con->banco->Execute($sql);
    }
    
    function listar_imagem($codigo_produto)
    {
        $sql = "select * from tbl_imagem where PROD_CODIGO = ".$codigo_produto." order by IMG_DESCRICAO";
        $this->resultado_img = $this->con->banco->Execute($sql);
        $this->registro_img = $this->resultado_img->FetchNextObject();
        return $this->registro_img->IMG_DESCRICAO;
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que ocorre é que a sua variável está vazia, logo a sintaxe fica inválida, ai você tem duas soluções:

1 - Garantir que as variáveis sempre tenham algum valor;

2 - Usar um apóstrofe para garantir que pelo menos a sintaxe fique válida, por exemplo:

$sql = "select * from tbl_produto where CAT_CODIGO = '".$codigo_categoria."' order by PROD_DESCRICAO";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fiz isso tambem porem o erro para e o retorno da variavel é vazio. Essa variavel categoria_codigo e para buscar o codigo que é passado pelo link. Segue abaixo o codigo para analise.

<?php
    $oquefazer->listar_categoria();
?>

<table width="100%" border="1" cellspacing="2">
<?php
    while($oquefazer->registros = $oquefazer->resultado->FetchNextObject())
    {
?>

  <tr>
    <td>
        <a href="index.php?codcategoria=<?php echo $oquefazer->registros->CAT_CODIGO; ?>&acao=listar_produtos">
        <?php echo $oquefazer->registros->CAT_DESCRICAO; ?>
        </a>
    </td>
  </tr>
 
<?php
    }
?>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois de refazer todo o codigo consegur achar o erro e esta resolvido. Obrigado pela ajuda e muito bom esse forum, estarei sempre buscando respostas as minhas duvidas aqui. Vlw. :yes:

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.