Jhow86 0 Denunciar post Postado Julho 7, 2010 Boa tarde pessoal, Estou com dificuldades para trabalhar com a função: mysql_fetch_object() Gostaria de saber pq ela funciona com consultas simpres como esta: $sql = mysql_query("SELECT * FROM tb_artigo ORDER BY artigo_id DESC"); $artigo = mysql_fetch_object($sql); e não funciona em consultas um pouco mais incrementadas como esta: $sql = mysql_query("SELECT * FROM tb_artigo LIMIT $inicio , $TAMANHO_PAGINA"); $artigo = mysql_fetch_object($sql); OBS = as variaveis $inicio e $TAMANHO_PAGINA estam passando os valores corretamente. A $inicio varia do 0 ao infinito ja a $TAMANHO_PAGINA é uma constante com o valor = 2.o erro apresentado na segunda consulta é esse: <b>Warning</b>: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in <b>C:\EasyPHP5.3.0\www\SITE_JHONATAN\index.php</b> on line <b>60 Vlw pela ajuda...</b> Compartilhar este post Link para o post Compartilhar em outros sites
viniciuscainelli 0 Denunciar post Postado Julho 7, 2010 Substitua este código: $sql = mysql_query("SELECT * FROM tb_artigo LIMIT $inicio , $TAMANHO_PAGINA""); Por este: $sql = mysql_query("SELECT * FROM tb_artigo LIMIT $inicio , $TAMANHO_PAGINA") or die('Erro: ' . mysql_error()); e mostre o que foi impresso na tela. This is it! Vinicius Cainelli Compartilhar este post Link para o post Compartilhar em outros sites
Jhow86 0 Denunciar post Postado Julho 7, 2010 Apareceu a mesma mensagem: Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\EasyPHP5.3.0\www\SITE_JHONATAN\index.php on line 60 o engeraçado é que sempre tive dificuldade quando incrementava a consulta sql e a usava com o mysql_fetch_object(). ja tentei tudo que me veio a cabeça mas até agora nada Compartilhar este post Link para o post Compartilhar em outros sites
FábioUberti 0 Denunciar post Postado Julho 7, 2010 opa, o mysql_fetch_object não esta recebendo resultados isso deve estar ocorrendo por algum erro no teu sql... posta a estrutura da tabela para podermos ver aonde esta o erro. Att. Compartilhar este post Link para o post Compartilhar em outros sites
Jhow86 0 Denunciar post Postado Julho 7, 2010 opa, o mysql_fetch_object não esta recebendo resultados isso deve estar ocorrendo por algum erro no teu sql... posta a estrutura da tabela para podermos ver aonde esta o erro. Att. Ta aqui: tb_artigo artigo_id artigo_datahora artigo_titulo artigo_artigo artigo_tags artigo_status mas eu ja executei o select direto na base, substituindo os valores das variaveis exatamente como o sistema deve fazer. e o resultado vem certinho. não consigo entender pq a função da este erro :S Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Julho 7, 2010 possível que as variaveis não estejam com os valores corretos: echo "SELECT * FROM tb_artigo LIMIT $inicio , $TAMANHO_PAGINA";analise oque retornar Compartilhar este post Link para o post Compartilhar em outros sites
Quelipe 15 Denunciar post Postado Julho 7, 2010 Tente colocar valores fixos para o LIMIT $sql = mysql_query("SELECT * FROM tb_artigo LIMIT 0,2"); $artigo = mysql_fetch_object($sql); At+ Compartilhar este post Link para o post Compartilhar em outros sites
Jhow86 0 Denunciar post Postado Julho 7, 2010 Olá Quelipe como falei ja testei esses valores direto na base e o resultado que retorna é o esperado. SELECT * FROM tb_artigo LIMIT 0,2 SELECT * FROM tb_artigo LIMIT 4,2 SELECT * FROM tb_artigo LIMIT 6,2 e assim vai... Agora se eu retirar a condição LIMIT do comando SQL, o mysql_fetch_array funciona normalmente ex: SELECT * FROM tb_artigo e ai o que você acha? Obs: trabalho perto do jornal de Brasilia rsrs Forum pequeno né ahahah Compartilhar este post Link para o post Compartilhar em outros sites
viniciuscainelli 0 Denunciar post Postado Julho 7, 2010 Posso estar errado... Mas pode ser que o seu MySQL instalado não suporte o LIMIT desta forma. Mas você pode tentar: $sql = mysql_query("SELECT * FROM tb_artigo LIMIT {$TAMANHO_PAGINA} OFFSET {$inicio}"); $artigo = mysql_fetch_object($sql); Espero que seja isso! This is it! Vinicius Cainelli Compartilhar este post Link para o post Compartilhar em outros sites
Quelipe 15 Denunciar post Postado Julho 7, 2010 Você testou do jeito que te passei na aplicação??? At+ Amigo de acordo com o que você falou: OBS = as variaveis $inicio e $TAMANHO_PAGINA estam passando os valores corretamente. A $inicio varia do 0 ao infinito ja a $TAMANHO_PAGINA é uma constante com o valor = 2. Não funciona. Primeiro: para declarar constante não pode ter o "$"; Segundo: Se você colocar como constante, no momento da consulta no sql vai entrar uma string. Agora se você colocar como variáveis irá funcionar: Ex: $inicio = 0; $TAMANHO_PAGINA = 2; $sql = mysql_query("SELECT * FROM tb_artigo LIMIT $inicio , $TAMANHO_PAGINA"); $artigo = mysql_fetch_object($sql); Testa aí At+ Compartilhar este post Link para o post Compartilhar em outros sites
Jhow86 0 Denunciar post Postado Julho 8, 2010 Gente resolvi o problema. reescrevi todo o codigo(~=200) e o erro não tornou a acontecer. foi trabalhoso, não achei o erro mas resolvi. Mesmo assim obrigado pela ajuda de vcs. Compartilhar este post Link para o post Compartilhar em outros sites