Ir para conteúdo

POWERED BY:

Arquivado

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

PHProgramador

Problema com Fetch array

Recommended Posts

Me ajuda por favor, não sei como que resolve isso

 

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:Arquivos de programasEasyPHP5.3.0wwwQualisoftAdminlst_categoria.php on line 23

 

O código é:

<?php  $sql ="SELECT*FROM categoria";	 $qry = mysql_query($sql);	 while ($linha = mysql_fetch_array($qry)){?>

Se puder me ajudar o mais rapido possivel serei muito grato! :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

 <?php 
         $qry = mysql_query("SELECT * FROM categorias");
         while ($linha = mysql_fetch_assoc($qry)){
?>

tente assim! O mysql_fetch_assoc eh a mesma coisa que o mysql_fetch_array, a unica diferenca eh q o assoc eh mais rapido!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php 
 $qry = mysql_query("SELECT * FROM categorias");
 while ($linha = mysql_fetch_assoc($qry)){
?>

tente assim! O mysql_fetch_assoc eh a mesma coisa que o mysql_fetch_array, a unica diferenca eh q o assoc eh mais rapido!

 

Vamos dissecar melhor essa informação:

 

mysql_fetch_array( ) - Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas

 

mysql_fetch_assoc( ) - Obtém um linha do resultado como uma matriz associativa

 

Portanto, na escolha do mysql_fetch_array, temos o retorno de duas matrizes, sendo assim, mais sobrecarga para o script, do que com o mysql_fetch_assoc.

 

@Tópico

 

Certifique-se de que realmente há informações que estão sendo retornadas da base de dados.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

E você está certo, @falcao544.

 

Mas eu sempre gosto de explicitar o porquê das coisas.

 

Neste caso, assoc é mais rápido porque retorna uma matriz somente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

mysql_fetch_array( ) - Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas

 

mysql_fetch_assoc( ) - Obtém um linha do resultado como uma matriz associativa

 

Portanto, na escolha do mysql_fetch_array, temos o retorno de duas matrizes, sendo assim, mais sobrecarga para o script, do que com o mysql_fetch_assoc.

 

Ambos é obsoleto!

Compartilhar este post


Link para o post
Compartilhar em outros sites


<?php 
 $sql ="SELECT*FROM categoria";
         $qry = mysql_query($sql);
         while ($linha = mysql_fetch_array($qry)){
?>

tenta assim, tb da pra ver se o erro ta na sua consulta

 

 $sql ="SELECT*FROM categoria ";
 $sql = mysql_query($sql)
 or die ("Consulta com erro! ".mysql_error());

while ($linha = mysql_fetch_array($sql))
					{

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

mysql_fetch_array( ) - Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas

 

mysql_fetch_assoc( ) - Obtém um linha do resultado como uma matriz associativa

 

Portanto, na escolha do mysql_fetch_array, temos o retorno de duas matrizes, sendo assim, mais sobrecarga para o script, do que com o mysql_fetch_assoc.

 

Ambos é obsoleto!

 

Não tem nada de obsoleto em nenhuma das duas funções.

 

Se você usa algum tipo de abstração, PDO ou ADODB, não significa que o resto está obsoleto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando se melhora algo, o velho se torna obsoleto.

 

O problema é que em sua grande maioria "ainda" querem programar de formar antiga ou desconhece, deixando o velho mysql_ sobreviver.

 

Por isso quem entra novo na área pega sempre a mesma coisa, até por falta de material disponivel a respeito, sugiro que estude o link abaixo e vera que é fato Imagem Postada

 

Segue

 

http://php.net/manual/pt_BR/book.mysqli.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu disse, @WDuarte, o fato de existirem extensões de bibliotecas e bibliotecas mais desenvolvidas não torna algo obsoleto até que a documentação do PHP diga o contrário.

 

Concordo com a ideia de nos atualizarmos sobre esses conceitos, e também sugiro que estudem PDO e mysqli, por exemplo.

 

Mas não vamos cair no erro de julgar as coisas sem saber do que estamos falando.

 

mysql_ não está obsoleto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não esquenta não mano, também pensava assim, até que esse cara apareceu e me disse isso!

 

@Fabyo e esse é um ícone.

 

Sendo assim, procurei mudar meus conceitos, e estudar novos métodos e vi que todos falam a mesma coisa sobre mysql_. Não estou jugando só estou espondo uma opnião válida.

 

Como dizem por ae mysql_ você programa ainda tem que tampar os furos de tudo quanto é lado. Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não esquenta não mano, também pensava assim, até que esse cara apareceu e me disse isso!

 

@Fabyo e esse é um ícone.

 

Sendo assim, procurei mudar meus conceitos, e estudar novos métodos e vi que todos falam a mesma coisa sobre mysql_. Não estou jugando só estou espondo uma opnião válida.

 

Como dizem por ae mysql_ você programa ainda tem que tampar os furos de tudo quanto é lado. Imagem Postada

E eu concordo plenamente com você quando fala do Fabyo e dos novos conceitos sobre esse tipo de biblioteca.

 

Mas dizer que está obsoleto já é falar o que não sabe.

 

Até que a documentação oficial do PHP não julgue essas funções como obsoletas, elas não estão obsoletas.

 

Não me entenda mal, não quero arrumar rixa com ninguém ou defender uma coisa que eu sei que tem milhares de defeitos.

 

Eu nunca uso esse tipo de conceito em minhas aplicações. Também sou adepto do PDO e outras coisas mais, como o ADODB.

 

Só acho que, visto que servimos de referência pra muitas pessoas aqui na comunidade, principalmente aquelas que estão começando a conhecer a linguagem, devemos cuidar com o que dizemos.

 

Mais uma vez eu repito: segundo a documentação oficial, mysql_ não está obsoleto (ainda).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Daniel você levantou um ponto curioso! Quais são os defeitos do mysql_?

 

E WDuarte, você disse que com o mysql_a gente programa e tem que tampar de todos os lados! O que quer dizer com isso? Questão de segurança mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

WDuarte e Daniel, você estão falando de coisas diferentes, o WDuarte está fanando de boas práticas, afinal as funções mysql_(ou pg_, oci_, sqlite_) são procedurais, enquanto PDO e ADODB são orientadas a objeto, e nisso ele está certo. O Daniel está falando de ser odessas funções também serem obsoletas "no papel", ou seja, serem consideradas deprecated na API do PHP. Eu mesmo chegando agora, vou dar um breve pitaco: eu fico com o WDuarte, não é por que algo está na API da linguagem que possa ser considerada boa prática e acho que novos programadores devem começar já sabendo essas boas práticas, tornado-as práticas comuns.

 

Quanto a dúvida do PHProgramador, verifique se a conexão está ok. veja a saída do comando mysql_error(), como sugeriram acima, assim dá pra ter uma noção bem melhor do problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

WDuarte e Daniel, você estão falando de coisas diferentes, o WDuarte está fanando de boas práticas, afinal as funções mysql_(ou pg_, oci_, sqlite_) são procedurais, enquanto PDO e ADODB são orientadas a objeto, e nisso ele está certo. O Daniel está falando de ser odessas funções também serem obsoletas "no papel", ou seja, serem consideradas deprecated na API do PHP. Eu mesmo chegando agora, vou dar um breve pitaco: eu fico com o WDuarte, não é por que algo está na API da linguagem que possa ser considerada boa prática e acho que novos programadores devem começar já sabendo essas boas práticas, tornado-as práticas comuns.

 

Quanto a dúvida do PHProgramador, verifique se a conexão está ok. veja a saída do comando mysql_error(), como sugeriram acima, assim dá pra ter uma noção bem melhor do problema.

 

Vou repetir, pela décima vez, em negrito:

 

- Eu sei dos defeitos das funções mysql_

- Eu sou adepto a boas práticas de programação, e não uso essas funções

- Eu gosto de PDO e ADODB, por exemplo

 

O fato é que as funções mysql_ NÃO ESTÃO depreciadas.

 

OBS: Eu nunca disse que só porque algo está na documentação, significa que siga boas práticas de programação. Da onde você tirou isso?

 

Mas tudo bem, já fomos longe de mais com essa discussão ridícula.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Daniel, eu não estou criticando você, pelo contrário, eu entendi exatamente o que você disse, mas me pareceu que vocês não estavam se entendendo, só quis esclarecer as coisas, já que os dois tem uma definição diferente para a palavra "obsoleto". Complicado uma discussão em que ambos estão certos :-P

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.