Visualização não da certo
02/09/2012
0
estou utilizando o seguinte codigo
<html> <head> <title></title> <style type="text/css"> @import url("css/main.css"); </style> </head> <body> <?php include("conexao.php"); if(isset($_GET["id"])){ if(is_numeric($_GET["id"])){ $SQL = "SELECT news.*, autor.nome FROM news INNER JOIN autor on autor.id = news.autor WHERE news.id = ".$_GET["id"]; $query = mysql_query($SQL); $exibir = mysql_fetch_array($query); if(mysql_num_rows($query) > 0){ echo "<div id='news' style='background-color:#FFF'>"; echo "-> <b>".$exibir["titulo"]."</b>"; echo " - Por <b>".$exibir["nome"]."</b>"; echo " - postada em: <b>".$exibir["data"]."</b>"; echo "</div>"; }else { echo "<br>Erro no sistema, news incorreta!</b>"; } } } ?> </body> </html>
porem, depois de executalo, verifiquei no browser, em exibir(codigo fonte), apareceu o esse:
<html> <head> <title></title> <style type="text/css"> @import url("css/main.css"); </style> </head> <body> <br>Erro no sistema, news incorreta!</b> </body> </html>
sendo que o correto seria:
<html> <head> <title></title> <style type="text/css"> @import url("css/main.css"); </style> </head> <body> <div id='news'>Conheca os recursos do HTML 5</div> </body> </html>
Marcio Araujo
Posts
02/09/2012
Eduardo Gonçalves
if(mysql_num_rows($query) > 0){
Os motivos podem ser vários: problema de conexão, problema na query, tabela vazia, etc. Daí você tem que investigar cada possível problema e descobrir o que está acontecendo de fato.
02/09/2012
Marcio Araujo
Varallo, o codigo do conexao.php é:
<?php //Dados Conexão MySql $server = "localhost"; $user = "root"; $pw = ""; $dbname = "dbdevmedia"; $conn = mysql_connect($server, $user, $pw); $db = mysql_select_db($dbname, $conn); ?>
03/09/2012
Samuel
Marcio, Concordo com o Eduardo, existe algum problema ai na sua query...
bom, mostrar uma outra forma de retornar conteúdo, eu faço assim:
#Primeiro, chamo na pagina o método ConsultaRegistro com parâmetro ($id_conteudo) da classe $objConteudoDAO:
class conteudo{ function consultaRegistro($id){ $query = "SELECT news.*, autor.nome FROM news INNER JOIN autor on autor.id = news.autor WHERE news.id = ".$_GET["id"]; $resultado = mssql_query($query); return $resultado; } } $objConteudoDAO = new conteudo();
#na página teste_marcio.php eu tenho o seguinte código:
<?php $resultado = $objConteudoDAO->consultaRegistro($id_conteudo); while($row = mssql_fetch_array($resultado)) { echo "<div id='news' style='background-color:#FFF'>"; echo "-> <b>".$row["titulo"]."</b>"; echo " - Por <b>".$row["nome"]."</b>"; echo " - postada em: <b>".$row["data"]."</b>"; echo "</div>"; } ?>
04/09/2012
Marcio Araujo
16/10/2012
Eduardo Oliveira
autor.id = news.autor
Se sim, teste sua consulta no phpmyadmin ou qualquer outro sgbd que voce esteja utilizando, fazendo isso voce terá ctz que sua consulta está funcionando e que de fato seu problema está no script, teste e fale o que acontece.
16/10/2012
Eduardo Oliveira
$query = "SELECT news.*, autor.nome FROM news INNER JOIN autor on autor.id = news.autor WHERE news.id = ".$_GET["id"] or die (mysql_error());
Isso fará com que ele mate a execução e escreva o erro vindo do mysql, pra ti.
E nunca utilize dessa forma...
news.id = ".$_GET["id"]
Pegar os dados diretos por GET e informa-los diretamente sem nenhuma filtragem a uma consulta, é uma brécha imensa para SQL-INJECTION.
Clique aqui para fazer login e interagir na Comunidade :)