TheNight 1 Denunciar post Postado Março 18, 2015 Gente boas, estou programando um site com mssql, e agora precisei usar mysql pra fazer a conexao do site com meu forum IPBoard, Gostaria de saber como vocês podem me ajudar? :) Seguinte, já fiz uma class, pra conectar meu mysql no site (sou novato 1 mes de php)... está assim meu código que verifica a query: <div class="title_content float_right">Notícias do fórum</div> <div class="content float_right"> <!--<div class="success">Sem registros no banco de dados!</div>--> <?php $inc_result_forum = mysql_query("select TOP ".NEWS_FORUM_QUANTIDADE." tid,title,start_date,starter_name from ".PREFIXO_NOTICIA." topics order by tid asc"); if(mysql_num_rows($inc_result_forum) < 1){ ?> <div class="info">Nenhuma notícia cadastrada no fórum :(</div> <?php }else{ for($i = 0; $i < mysql_num_rows($inc_result_forum); $i++){ $inc_for = mysql_fetch_row($inc_result_forum); ?> <?php if(INC_FORUM_TYPE == 1){ ?> <a href="<?php echo INC_FORUM_LINK; ?>/index.php?showtopic=<?php echo $inc_for[2]; ?>"><?php echo $inc_for[0]; ?></a> <?php } // TYPE 1 ?> <?php if(INC_FORUM_TYPE == 2){ ?> <a href="<?php echo INC_FORUM_LINK; ?>/index.php/topic/<?php echo $inc_for[2]."-".$inc_for[0]; ?>"><?php echo $inc_for[0]; ?></a> <?php } // TYPE 2?> <?php } // FOR } // ELSE ?> </div> <?php } ?> Só que quando eu executo isso me mostra o seguinte erro: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\myweb\pages\home.php on line 38 Segundo o site do PHP.net eu fiz certo por que foi de lá que eu tirei referência sobre mysql_num_rows(); A minha query eu fui montando conforme a tabela lá tudo em ordem :D E os meus defines que defini ali na query está exatamente assim define('NEWS_FORUM_QUANTIDADE', 5); // QUANTIDADE DE NOTÍCIAS A MOSTRAR (PADRÃO: 5) define('NEWS_FORUM_PREFIX', 'ibf_'); // PREFIXO DAS NOTÍCIAS (PADRÃO: ibf_) Obs: O site que eu estou fazendo aceita apenas PHP 5.2 então não me critiquem por favor :P Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 18, 2015 Esse erro é pq a query em cima não retornou o que deveria. Veja o motivo: $inc_result_forum = mysql_query("select TOP ".NEWS_FORUM_QUANTIDADE." tid,title,start_date,starter_name from ".PREFIXO_NOTICIA." topics order by tid sac")or die(mysql_error());o or die() ali, vai te mostrar. Corrija. Compartilhar este post Link para o post Compartilhar em outros sites
TheNight 1 Denunciar post Postado Março 18, 2015 Erro meu esqueci de usar o mysql_error(); Desculpe membros iMasters :cry: Retornou o erro dizendo : 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 '5 tid,title,start_date,starter_name from PREFIXO_NOTICIA topics order by tid sa' at line 1 Tá dizendo que meu servidor MySQL não suporta a versão WTF :google: Fui no google pesquisar e não achei nada a respeito :( Esquisito isso vou rever meus casos! Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Henrique da Costa 14 Denunciar post Postado Março 18, 2015 Bom eu vi outra coisa também, o MySQL não trabalha com TOP, ele tem LIMIT Quem trabalha com TOP é MSSql, o MySQL não Compartilhar este post Link para o post Compartilhar em outros sites
TheNight 1 Denunciar post Postado Março 18, 2015 é eu tentei usar TOP e LIMIT ambos com o mesmo erro :'( Resolvi usando isso: try { $inc_query = sprintf("SELECT title, start_date, tid, starter_name FROM %stopics ORDER BY tid ASC LIMIT %d", NEWS_FORUM_PREFIX, NEWS_FORUM_QUANTIDADE); $inc_result_forum = mysql_query($inc_query) or die(mysql_error()); }catch(Exception $e) { throw $e->getMessage(); } Compartilhar este post Link para o post Compartilhar em outros sites