Ir para conteúdo

POWERED BY:

Arquivado

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

osk

[RESOLVIDO] Erro na consulta

Recommended Posts

Bom dia, eu não consegui encontra o que significa esse erro alguem pode me ajudar?

 

Warning: mysql_fetch_array(): 4 is not a valid MySQL result resource in /home/elyte/public_html/mail/formail.php on line 47

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para "clarear" um pouco o erro, utilize da seguinte maneira:

mysql_query("...") or die(mysql_error());

Tem como você postar um trecho do código usado? Em torno da linha 47.

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso da ajuda?

 

if($inicio == ""){// ATRIBUI O VALOR 0 CASO NÃO EXISTA VALOR ATRIBUIDO$inicio = 0;}else{// ATRIBUI O VALOR DA GLOBAL INICIO CASO JA EXISTA VALOR ATRIBUIDO$inicio = $_GET['inicio'];}// ATRIBUI O RESULTADO DA SOMA ENTRE INICIO E QUANT$fim = $inicio + $quant;// EXECUTA A CONSULTA OU INFORMA UM ERRO CASO OCORRA$sql = mysql_query("SELECT ". $campos ." FROM ". $tabela ." WHERE enviado = 0 and bloqueado = 0 LIMIT ". $inicio .",". $quant)or die(mysql_error());// VERIFICA SE AINDA EXISTEM EMAILS A SEREM ENVIADOSif(mysql_num_rows($sql) == 0){echo "Fim do processo de envio!";}else{echo "<meta http-equiv=\"refresh\" content=\"" . $seg . ",URL=?inicio=". $fim ."\">";}while($r = mysql_fetch_array($sql)){$to = $r["email"];$id = $r["id"];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá....primeira coisa... não precisa usar o . para usar as variaveis na mysql_query, retire os pontos e use dentro das "" a consulta e a variaveis normal.segunda coisa... eu não recomendo, o 'mysql_fetch_array' tente usar o mysql_fetch_assoc($sql).terceira coisa... não use "" mas sim '' em $r['campo']; Isso pode ajudar.Valewww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Felipe fiz as alterações mas agora aparece o seguinte erro na linha 34 que esta em negrito :

Parse error: syntax error, unexpected T_VARIABLE in /home/elyte/public_html/mail/formail.php on line 34

if($inicio == ""){

// ATRIBUI O VALOR 0 CASO NÃO EXISTA VALOR ATRIBUIDO

$inicio = 0;

}else{

// ATRIBUI O VALOR DA GLOBAL INICIO CASO JA EXISTA VALOR ATRIBUIDO

$inicio = $_GET['inicio'];

}

 

// ATRIBUI O RESULTADO DA SOMA ENTRE INICIO E QUANT

$fim = $inicio + $quant;

 

// EXECUTA A CONSULTA OU INFORMA UM ERRO CASO OCORRA

$sql = mysql_query("SELECT " $campos " FROM " $tabela " WHERE enviado = 0 and bloqueado = 0 LIMIT " $inicio "," $quant" ")or die(mysql_error());

 

// VERIFICA SE AINDA EXISTEM EMAILS A SEREM ENVIADOS

if(mysql_num_rows($sql) == 0){

 

echo "Fim do processo de envio!";

}else{

 

 

echo "<meta http-equiv=\"refresh\" content=\"" $seg ",URL=?inicio=" $fim "\">";

}

 

while($r = mysql_fetch_assoc($sql)){

$to = $r['email'];

$id = $r['id'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

OSK,

 

vamos alterar sua consulta.

 

$sql = mysql_query("SELECT " $campos " FROM " $tabela " WHERE enviado = 0 and bloqueado = 0 LIMIT " $inicio "," $quant" ")or die(mysql_error());

 

 

PHP
$sql = mysql_query("SELECT $campos FROM  $tabela  WHERE enviado = 0 and bloqueado = 0 LIMIT $inicio, $quant ")or die(mysql_error());

 

é não precisa usar as "" para colcoar as variáveis.

pode ser inserida direto.

 

 

por isso q deve esta seu erro.

 

obs,

de onde estão vindo as variáveis $campos e $tabelas

 

elas podem estar com o valor null e dando erro por esse motivo na sua consulta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum olha só, eu tirei as aspas ai ficou assim:

 

 

$tabela = "newsletter";$campos = "id, email";$quant = 1;$seg = 2;mysql_connect($host,$usuario,$senha);mysql_select_db($banco);$inicio = $_GET['inicio'];// VERIFICA SE FOI ATRIBUIDO VALOR A VARIAVEL “INICIO”if($inicio == ""){// ATRIBUI O VALOR 0 CASO NÃO EXISTA VALOR ATRIBUIDO$inicio = 0;}else{// ATRIBUI O VALOR DA GLOBAL INICIO CASO JA EXISTA VALOR ATRIBUIDO$inicio = $_GET['inicio'];}// ATRIBUI O RESULTADO DA SOMA ENTRE INICIO E QUANT$fim = $inicio + $quant;// EXECUTA A CONSULTA OU INFORMA UM ERRO CASO OCORRA$sql = mysql_query("SELECT $campos FROM $tabela WHERE enviado = 0 and bloqueado = 0 LIMIT $inicio, $quant  ")or die(mysql_error());// VERIFICA SE AINDA EXISTEM EMAILS A SEREM ENVIADOSif(mysql_num_rows($sql) == 0){echo "Fim do processo de envio!";}else{echo "<meta http-equiv=\"refresh\" content=\" $seg ,URL=?inicio=$fim \">";}while($r = mysql_fetch_assoc($sql)){$to = $r['email'];$id = $r['id'];

 

 

 

Mas o erro continua

Warning: mysql_fetch_assoc(): 4 is not a valid MySQL result resource in /home/elyte/public_html/mail/formail.php on line 46

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por um acaso não seria a identificação (nome) da tabela ou campo que não exista no seu banco!Semana passada estava com o mesmo erro e havia uma letra N no lugar do M ao fazer o select e o erro dava no mysql_fetch_array ou assoc.

Hum olha só, eu tirei as aspas ai ficou assim:

$tabela = "newsletter";$campos = "id, email";$quant = 1;$seg = 2;mysql_connect($host,$usuario,$senha);mysql_select_db($banco);$inicio = $_GET['inicio'];// VERIFICA SE FOI ATRIBUIDO VALOR A VARIAVEL “INICIO”if($inicio == ""){// ATRIBUI O VALOR 0 CASO NÃO EXISTA VALOR ATRIBUIDO$inicio = 0;}else{// ATRIBUI O VALOR DA GLOBAL INICIO CASO JA EXISTA VALOR ATRIBUIDO$inicio = $_GET['inicio'];}// ATRIBUI O RESULTADO DA SOMA ENTRE INICIO E QUANT$fim = $inicio + $quant;// EXECUTA A CONSULTA OU INFORMA UM ERRO CASO OCORRA$sql = mysql_query("SELECT $campos FROM $tabela WHERE enviado = 0 and bloqueado = 0 LIMIT $inicio, $quant  ")or die(mysql_error());// VERIFICA SE AINDA EXISTEM EMAILS A SEREM ENVIADOSif(mysql_num_rows($sql) == 0){echo "Fim do processo de envio!";}else{echo "<meta http-equiv=\"refresh\" content=\" $seg ,URL=?inicio=$fim \">";}while($r = mysql_fetch_assoc($sql)){$to = $r['email'];$id = $r['id'];
Mas o erro continua
Warning: mysql_fetch_assoc(): 4 is not a valid MySQL result resource in /home/elyte/public_html/mail/formail.php on line 46

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha eu olhei e nao tem nada errado, vou ate postar aqui img pra verem que nao e nome errado!

 

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eu tentei fazer dnv, a boa noticia e que ta funcionando, mas ainda continua o mesmo erro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

AEWWWWW consegui resolver, eu descubri que o if que eu esta usando no final do code vinha de um config.ini, por isso aparecia o erro, Agora sim Problema resolvido, Obrigado aos que me ajudaram ai ! VLW

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.