Guedesll Postado Março 13, 2010 Denunciar Share Postado Março 13, 2010 (editado) Olá Pessoal! Então, este é o meu primeiro tópico aqui no scriptBrasil, estou precisando de uma ajudinha de vocês.Estou iniciando no PHP (Sei que vocês já leram muito isso ... rsss...) E como todo novatotenho minhas dúvidas e dificuldades ...Não consigo identificar onde estou errando. Quando coloco em meu navegador (http://localhost/conexao.php)A tela fica em branco. Eu desabilitei a mesagem de erro do IE8. Aí a tela fica em branco com status de concluído.Não sei o que fazer. Em meu Mysql tenho um DB "test" com uma tabela "usuario1" com apenas 1 registro.POR FAVOR ME AJUDEM!!!!!<?php$_con = @mysql_connect("localhost","root","LLgll123"); if($_con===FALSE) { echo "Erro na conexao " . mysql.error(); exit(); }mysql__select_db("test",$_con); if($_con===FALSE) { echo "Não foi possível conectar" . mysql_error(); }$_sql = "SELECT * FROM usuario1";$_res = mysql_query($_sql,$_con); if($_res===FALSE) { echo "erro na consulta " . mysql_error() . "<br/>"; } else { $_nr = mysql_num_rows($_res); echo "A consulta retornou " . (int) $_nr . " registro(s)<br/>"; if($_nr>0) { echo "<table border=1 cellspacing=3 cellpadding=2>"; echo "<tr bgcolor='#f0f0f0'>"; for($_i=0;$_i<mysql_num_fields($_res);$_i++) { echo "<td>" . mysql_field_name($_res,$_i) . "</td>"; } echo "</tr>"; while($_row=mysql_fetch_assoc($_res)) { $_t = mysql_fetch_lenghts($_res); echo "<tr>"; $_i=0; } foreach($_row as $_k=>$_vlr) { echo "<td>$_vlr ({$_t"[$_i]})</td>"; $_i++; } echo "</tr>"; } echo "</table>"; } mysql_close($_con); ?> Editado Março 13, 2010 por Guedesll Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Rocha B. Postado Março 15, 2010 Denunciar Share Postado Março 15, 2010 Cara, encontrei vários erros primários, mas com exercício você aprender na boa.Enfim, dei uma revisada no código e comentei onde encontrei erros.<?php$_con = mysql_connect("localhost","root",""); /*O @ não existe*/if($_con===FALSE) {echo "Erro na conexao " . mysql.error();exit();}mysql_select_db("test",$_con); /*Aqui faça dessa forma mysql_select_db("test",$_con);*/if($_con===FALSE) {echo "Não foi possível conectar" . mysql_error();}$_sql = "SELECT * FROM usuario1";$_res = mysql_query($_sql,$_con);if($_res===FALSE) {echo "erro na consulta " . mysql_error() . "<br/>";} else {$_nr = mysql_num_rows($_res);echo "A consulta retornou " . (int) $_nr . " registro(s)<br/>";if($_nr>0) {echo "<table border=1 cellspacing=3 cellpadding=2>";echo "<tr bgcolor='#f0f0f0'>";for($_i=0;$_i<mysql_num_fields($_res);$_i++) {echo "<td>" . mysql_field_name($_res,$_i) . "</td>";}echo "</tr>";while($_row=mysql_fetch_assoc($_res)) {$_t = mysql_fetch_lenghts($_res);echo "<tr>";$_i=0;}foreach($_row as $_k=>$_vlr) {echo "<td>$_vlr ({$_t[$_i]})</td>"; /*Você colocou uma aspa onde não deveria ter, faça assim: echo "<td>$_vlr ({$_t[$_i]})</td>";*/$_i++;}echo "</tr>";}echo "</table>";}mysql_close($_con);?>Espero ter ajudado.Abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guedesll Postado Março 15, 2010 Autor Denunciar Share Postado Março 15, 2010 Cara, encontrei vários erros primários, mas com exercício você aprender na boa.Enfim, dei uma revisada no código e comentei onde encontrei erros.<?php$_con = mysql_connect("localhost","root",""); /*O @ não existe*/if($_con===FALSE) {echo "Erro na conexao " . mysql.error();exit();}mysql_select_db("test",$_con); /*Aqui faça dessa forma mysql_select_db("test",$_con);*/if($_con===FALSE) {echo "Não foi possível conectar" . mysql_error();}$_sql = "SELECT * FROM usuario1";$_res = mysql_query($_sql,$_con);if($_res===FALSE) {echo "erro na consulta " . mysql_error() . "<br/>";} else {$_nr = mysql_num_rows($_res);echo "A consulta retornou " . (int) $_nr . " registro(s)<br/>";if($_nr>0) {echo "<table border=1 cellspacing=3 cellpadding=2>";echo "<tr bgcolor='#f0f0f0'>";for($_i=0;$_i<mysql_num_fields($_res);$_i++) {echo "<td>" . mysql_field_name($_res,$_i) . "</td>";}echo "</tr>";while($_row=mysql_fetch_assoc($_res)) {$_t = mysql_fetch_lenghts($_res);echo "<tr>";$_i=0;}foreach($_row as $_k=>$_vlr) {echo "<td>$_vlr ({$_t[$_i]})</td>"; /*Você colocou uma aspa onde não deveria ter, faça assim: echo "<td>$_vlr ({$_t[$_i]})</td>";*/$_i++;}echo "</tr>";}echo "</table>";}mysql_close($_con);?>Espero ter ajudado.Abraço!Então cara... qualquer ajuda sempre é bem vinda ... mais ainda sim não funcionou.Corrigi onde você mostrou os erros. Mais ainda sim o navegador mostra tela em branco.Provavelmente eu esteja errando em algo no código, pois meu apache funciona perfeitamente.Tanto que, quando faço uma operação simples, como exibir data e hora no PHP, ele exibe normalmente.Mais esta conexao estou apanhando para fazer.Por favor... Se alguém mais puder me ajudar... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Hambonso Postado Março 15, 2010 Denunciar Share Postado Março 15, 2010 Guedesll, você chegou a fazer o teste se o php está rodando perfeitamente no seu localhost ?!...Peça para exibir as informações do seu php com o teste simples:1- Crie um arquivo chamando phpinfo.php, e dentro dele insira o seguinte código:<? phpinfo();?>2- Salve o arquivo na raiz do seu localhost.3- abra o seu navegador e execute o arquivo: http://localhost/phpinfo.php4- Se exibir as configurações do PHP forem exibidas, seu servidor está funcionando perfeitamente, caso contrário, refaça a instalação e configuração do php em seu micro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durub Postado Março 15, 2010 Denunciar Share Postado Março 15, 2010 ...Só uma informação: o @ existe sim, e serve para suprimir erros!Por exemplo, caso a chamada ao mysql_connect falhe, não irá aparecer uma warning ou error.Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guedesll Postado Março 16, 2010 Autor Denunciar Share Postado Março 16, 2010 Guedesll, você chegou a fazer o teste se o php está rodando perfeitamente no seu localhost ?!...Peça para exibir as informações do seu php com o teste simples:1- Crie um arquivo chamando phpinfo.php, e dentro dele insira o seguinte código:<? phpinfo();?>2- Salve o arquivo na raiz do seu localhost.3- abra o seu navegador e execute o arquivo: http://localhost/phpinfo.php4- Se exibir as configurações do PHP forem exibidas, seu servidor está funcionando perfeitamente, caso contrário, refaça a instalação e configuração do php em seu micro.Então ... ele exibe sim! Fiz o teste que você pediu e deu certo.Como eu disse, algo no meu código deve estar errado.Aguardo ajuda! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guedesll Postado Março 16, 2010 Autor Denunciar Share Postado Março 16, 2010 Vamos lá pessoal ... preciso da ajuda de vocês ...Por favor... os mais experientes ... digam-me ...Onde eu estou falhando???Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Março 16, 2010 Denunciar Share Postado Março 16, 2010 Vamos lá pessoal ... preciso da ajuda de vocês ...Por favor... os mais experientes ... digam-me ...Onde eu estou falhando???Abraços!olá siga as instruções e modifique a senha, banco, e local conforme sua necessidade até mais<?phpclass IPR{var $local, $banco, $senha, $usuario;function __construct($Tabela) { $Dados=$this->ExecutarConsultaCompleta($Tabela); //realizando a consulta $NumeroC=count($Dados[campo]); //numeros de campos // $NumeroR=count($Dados[dados]*$NumeroC); //numeros de elementos no campo 1 ] echo "<font color=blue>Numeros de registros encontrados ".$Dados[Total]."</font>"; echo "<table name='Campos' id='Campos' align='center' width='100%' border=1> <Tr>"; for($i=0; $i<$NumeroC; $i++) { echo "<Td>".$Dados[campo][$i]."</td>"; } echo "</tr><tr>"; for($i=0; $i<count($Dados[dados]); $i++) { for($k=0; $k<$NumeroC; $k++) { echo "<Td>".$Dados[dados][$i][$k]."</td>"; } echo "</tr><tr>"; } echo "</tr></table>"; }protected function Verificar($Array,$Quantidade) //funão para verificar se os elementos do array estão vazio ou não { for($i=0; $i<$Quantidade; $i++) { if (empty($Array[$i])) { echo "Elemento vazio $i de $Quantidade se encontra vazio\n"; exit; } } } function Conectar($local="localhost",$usuario="root",$banco="gerenciamento",$senha="") //função para conectar { // $this->Verificar(Array("$local","$banco","$usuario"),$Quantidade=3); //permitimos a senha como campo vazio $conectar= mysql_connect($local,$usuario,$senha); //$conectar=mysql_connect("$local","$usuario","$senha"); //efetuando a conecxão ($conectar == false) ? ($retorno="Erro na conecxão ".mysql_error()) : $retorno=true; $banco=mysql_select_db($banco); ( ($banco==false) and ($retorno=true) ) ? ($retorno="Erro no banco ".mysql_error()) : $retorno=true; return $retorno; } function ExecutarConsultaCompleta($Tabela) //executa uma consulta completa retornando nomes dos campos e dados contidos neles em forma de matriz { // $this->Verificar(Array("$Tabela"),$Quantidade=1); $con=$this->Conectar(); //conectando if ($con != true) //caso a conecxao retorne falso para a execução e imprimi o erro { echo $con; exit; } $sql=mysql_query("select * from $Tabela"); //executando a consulta $NomeDosCampos[Total]=mysql_num_rows($sql); for($i=0; $i<mysql_num_fields($sql); $i++) { $NomeDosCampos[campo][$i]=mysql_field_name($sql,$i); //pegando o nome dos campos } $sd=0; while($s=mysql_fetch_object($sql)) { for($l=0; $l<count($NomeDosCampos[campo]); $l++) { $NomeDosCampos[dados][$sd][$l]= $s->$NomeDosCampos[campo][$l]; } $sd++; } return $NomeDosCampos; }}//iniciando os elementos/*modo de usar basta instaciar a classe ipr que será automaticamente executadalocalize a linha que é aproximadamente 46Conectar($local="localhost",$usuario="root",$banco="gerenciamento",$senha="")e mude os dados de acordo com a sua necessidade até mais */$Tabela="produtos"; $t=new IPR($Tabela);?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Rocha B. Postado Março 17, 2010 Denunciar Share Postado Março 17, 2010 (editado) Guedesll, cara se a sua intenção for apenas exibir os dados de uma tabela do banco esse código abaixo servirá. Por mim revisaria novamente o seu código, mas ando meio sem tempo. De qualquer maneira vou ver se tiro um tempo hoje a noite pra olhar com mais calma, isso se você já não tiver conseguido resolver daqui pra lá.Mas fica um conselho, procura se informar mais das funções do Sql que você ta usando, e com os loops (for, while, foreach)<?php$_con = mysql_connect("localhost","root",""); /*O @ não existe*/if($_con===FALSE) {echo "Erro na conexao " . mysql.error();exit();}mysql_select_db("test",$_con); /*Aqui faça dessa forma mysql_select_db("test",$_con);*/if($_con===FALSE) {echo "Não foi possível conectar" . mysql_error();}$sql = "SELECT * FROM usuario1";$query = mysql_query($sql) or die (mysql_error());while($recupera = mysql_fetch_array($query)){echo "<tr>";echo "<td>Nome: </>";echo "<td>$recupera[0]</td>\n";echo "<br />";echo "<td>Idade: </td>";echo "<td>$recupera[1]</td>\n";echo "</tr>";echo "<br />";echo "<br />";}mysql_close($_con);?>BancoNome:testSql das tabelasCREATE TABLE IF NOT EXISTS `usuario1` ( `Nome` text NOT NULL, `Idade` int(11) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;---- Extraindo dados da tabela `usuario1`--INSERT INTO `usuario1` (`Nome`, `Idade`) VALUES('Rafael', 22),('Felipe', 20);Espero ter ajudado de alguma forma, boa sorte = ]! Editado Março 17, 2010 por Rafael Rocha B. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guedesll Postado Março 17, 2010 Autor Denunciar Share Postado Março 17, 2010 Obrigado Pessoal... Ainda não consegui o que eu queria...Mais abriu a minha mente ...De fato... ninguém me respondeu o que está errado no código...Mais com as informações que li neste fórum ... acabei aprendendo bastante ...Agradeço muito por terem respondido ...Preciso desenvolver e implantar um sistema de notícias interno na empresa.Pensando em lógica de programação, não é difícil.O meu maior problema está sendo o PHP, pois programava em C...estou tentando migrar para o PHP.Mais toda vez dá pau... não consigo resolver os erros ... e com isso vou perdendo tempo ...Por isso que peço a ajuda de vocês...Não quero que desenvolvam a ferramenta pra mim... mais quero que me ajudem quandonão conseguir resolver erros como este acima ... De qualquer forma.... agradeço muito ajuda de vocês ... VLw mesmo!!!Abraços a Todos! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Rocha B. Postado Março 17, 2010 Denunciar Share Postado Março 17, 2010 Vlw, não sou muito experiente, mas no eu poder ajudar, continuarei tentando = ] !!Abraço e sorte ai no PHP!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Março 17, 2010 Denunciar Share Postado Março 17, 2010 Obrigado Pessoal... Ainda não consegui o que eu queria...Mais abriu a minha mente ...De fato... ninguém me respondeu o que está errado no código...Mais com as informações que li neste fórum ... acabei aprendendo bastante ...Agradeço muito por terem respondido ...Preciso desenvolver e implantar um sistema de notícias interno na empresa.Pensando em lógica de programação, não é difícil.O meu maior problema está sendo o PHP, pois programava em C...estou tentando migrar para o PHP.Mais toda vez dá pau... não consigo resolver os erros ... e com isso vou perdendo tempo ...Por isso que peço a ajuda de vocês...Não quero que desenvolvam a ferramenta pra mim... mais quero que me ajudem quandonão conseguir resolver erros como este acima ... De qualquer forma.... agradeço muito ajuda de vocês ... VLw mesmo!!!Abraços a Todos!o codigo que postei está funcionando so precisa colocar a senha banco e usuario, o seu codigo mostrava os campos da tabela e os dados logo abaixo formando um quadro, pode utilizar o codigo que postei e qualquer erro é so postar Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Março 17, 2010 Denunciar Share Postado Março 17, 2010 Obrigado Pessoal... Ainda não consegui o que eu queria...Mais abriu a minha mente ...De fato... ninguém me respondeu o que está errado no código...Mais com as informações que li neste fórum ... acabei aprendendo bastante ...Agradeço muito por terem respondido ...Preciso desenvolver e implantar um sistema de notícias interno na empresa.Pensando em lógica de programação, não é difícil.O meu maior problema está sendo o PHP, pois programava em C...estou tentando migrar para o PHP.Mais toda vez dá pau... não consigo resolver os erros ... e com isso vou perdendo tempo ...Por isso que peço a ajuda de vocês...Não quero que desenvolvam a ferramenta pra mim... mais quero que me ajudem quandonão conseguir resolver erros como este acima ... De qualquer forma.... agradeço muito ajuda de vocês ... VLw mesmo!!!Abraços a Todos!respondendo sua pergunta segue seu codigo com algumas citações<?php$_con = @mysql_connect("localhost","root","LLgll123"); -> o @ oculta um provavel erroif($_con===FALSE) { -> é mais indicado você usar o igual ao invés de indenticoecho "Erro na conexao " . mysql.error();exit();}mysql__select_db("test",$_con);if($_con===FALSE) { -> é mais indicado você usar o igual ao invés de indenticoecho "Não foi possível conectar" . mysql_error();}$_sql = "SELECT * FROM usuario1";$_res = mysql_query($_sql,$_con); -> a não está errado não mas você poderia simplificar $co=mysql_query("select * from usuarios1");if($_res===FALSE) { -> é mais indicado você usar o igual ao invés de indenticoecho "erro na consulta " . mysql_error() . "<br/>";} else {$_nr = mysql_num_rows($_res);echo "A consulta retornou " . (int) $_nr . " registro(s)<br/>"; -> aqui não precisa indicar que é um inteiro ao contrario da c o php não precisa definir, basta colocar a variavel->simplificando echo "A consulta retornou $_nr registro(s)<br/>";if($_nr>0) {echo "<table border=1 cellspacing=3 cellpadding=2>";echo "<tr bgcolor='#f0f0f0'>";for($_i=0;$_i<mysql_num_fields($_res);$_i++) { -> nesse trecho está tudo bem ele exibirá os campos da tabelaecho "<td>" . mysql_field_name($_res,$_i) . "</td>";}echo "</tr>";while($_row=mysql_fetch_assoc($_res)) { -> esse trecho ficou inutil já que para ler os dados é necessario indicar o array dentro do while$_t = mysql_fetch_lenghts($_res); -> nessa linha acredito que você estaria tentando pegar os dados entaria seria mais adequado utilizar uma das nativas mysql_fetch_array, mysql_fetch_assoc ou mysql_fetch_objectecho "<tr>";$_i=0;}foreach($_row as $_k=>$_vlr) {echo "<td>$_vlr ({$_t"[$_i]})</td>";$_i++;}echo "</tr>";}echo "</table>";}mysql_close($_con);nada foi corrigido somente explicado até mais Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guedesll Postado Março 18, 2010 Autor Denunciar Share Postado Março 18, 2010 Vlw pessoal ... Obrigado mesmo ...Vou continuar tentando ...Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guedesll Postado Março 22, 2010 Autor Denunciar Share Postado Março 22, 2010 (editado) Pode ser alguma incompatibilidade com Windows 7 ???Meu SO é W7. Provavelmente não funciona por causa disso ...Alguém sabe me dizer se estou certo ???Por que se o problema é o SO terei que particionar meu HD para Instalar o Windows XP. Somente para trabalhar com o PHP.Se alguém puder responder minha pergunta eu agradeço.Abraços! Editado Março 23, 2010 por Guedesll Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guedesll
Olá Pessoal!
Então, este é o meu primeiro tópico aqui no scriptBrasil, estou precisando de uma ajudinha de vocês.
Estou iniciando no PHP (Sei que vocês já leram muito isso ... rsss...) E como todo novato
tenho minhas dúvidas e dificuldades ...
Não consigo identificar onde estou errando. Quando coloco em meu navegador (http://localhost/conexao.php)
A tela fica em branco. Eu desabilitei a mesagem de erro do IE8. Aí a tela fica em branco com status de concluído.
Não sei o que fazer. Em meu Mysql tenho um DB "test" com uma tabela "usuario1" com apenas 1 registro.
POR FAVOR ME AJUDEM!!!!!
<?php
$_con = @mysql_connect("localhost","root","LLgll123");
if($_con===FALSE) {
echo "Erro na conexao " . mysql.error();
exit();
}
mysql__select_db("test",$_con);
if($_con===FALSE) {
echo "Não foi possível conectar" . mysql_error();
}
$_sql = "SELECT * FROM usuario1";
$_res = mysql_query($_sql,$_con);
if($_res===FALSE) {
echo "erro na consulta " . mysql_error() . "<br/>";
} else {
$_nr = mysql_num_rows($_res);
echo "A consulta retornou " . (int) $_nr . " registro(s)<br/>";
if($_nr>0) {
echo "<table border=1 cellspacing=3 cellpadding=2>";
echo "<tr bgcolor='#f0f0f0'>";
for($_i=0;$_i<mysql_num_fields($_res);$_i++) {
echo "<td>" . mysql_field_name($_res,$_i) . "</td>";
}
echo "</tr>";
while($_row=mysql_fetch_assoc($_res)) {
$_t = mysql_fetch_lenghts($_res);
echo "<tr>";
$_i=0;
}
foreach($_row as $_k=>$_vlr) {
echo "<td>$_vlr ({$_t"[$_i]})</td>";
$_i++;
}
echo "</tr>";
}
echo "</table>";
}
mysql_close($_con);
?>
Editado por GuedesllLink para o comentário
Compartilhar em outros sites
14 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.