Warning: mysql_fetch_array(): 3 is not a valid MySQL result resource

Enviada por Jose Comparini 
Jose Comparini
Warning: mysql_fetch_array(): 3 is not a valid MySQL result resource
02 de July de 2012 às 12:49PM
Olá galera, estou com um problema,

bem tenho a tabela news_send

com os campos ID, EMAIL, STATUS

e esta dando este erro na consulta, ja vi revi e não consegui enxergar, o script esta assim

ESTA É A MENSAGEM DE ERRO:Warning: mysql_fetch_array(): 3 is not a valid MySQL result resource in /home/ideawebd/public_html/envio_news.php on line 49

//mostra todas as mensagens de erros no PHP
ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_STRICT );

//configurações do banco
$host = "cpmy0033.servidorwebfacil.com";
$banco = "ideawebd_banco";
$usuario = "ideawebd_jose";
$senha = "joe2012";
$tabela = "news_send";
$campos = "id,email,status"; //campos da tabela

//configurações do e-mail



$quant = 10; //número de mensagens enviadas de cada vez
$sec = 10; //tempo entre o envio de um pacote e outro (em segundos)
?>

<?php
$conexao = mysql_connect($host, $usuario, $senha) or die ("Erro na conexao com DB!");
mysql_select_db($banco, $conexao) or die ("DB inexistente");
?>

<?php
$ok = 0;
$inicio = 0;
$fim = $inicio + $quant;
?>

<?php
$sql = "select $campos from $tabela WHERE status = 0 limit $inicio,$fim";
$query = mysql_query($sql,$conexao);
$registros = mysql_num_rows($query);
?>

<?php
if($registros==0) {
mysql_query("update $tabela set status = 0") ;
printf("<font face=’tahoma’>todas as mensagens foram enviadas!</font>");
$ok = 1;
}
?>

<?php
while($result = mysql_fetch_array($query)) { <<<<O ERRO ESTA NESSA LINHA
$id = $result[0];
$to = $result[1];
$status = $result[2];

$headers = "MIME-Version: 1.1\n";

$headers .= "Content-type: text/html; charset=iso-8859-1\n";

$headers .= "From: contato@ideawebdesign.com.br\n"; // remetente

$headers .= "Return-Path: contato@ideawebdesign.com.br\n"; // return-path


$envio = mail('<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">', $headers, $to);

if($envio){
mysql_query("update $tabela set status = 1 where id = $id");
printf("<font face=’tahoma’>$id ) mensagem para <b>$to</b> <font color=’#ff0000’><b>enviada com sucesso!</b></font></font>");

}

?>

<?php
mysql_free_result($query);
mysql_close($conexao);
?>

<?php
if(!$ok){
echo("<meta http-equiv=\"refresh\" content=\"" . $sec . "\">");
}
?>
<?php
}
?>

Eu ja olhei o banco pra ver se tinha item errado mas não, o que pode ser?

desde já agradeço
Jayme A. C. Gimenez
Re: Warning: mysql_fetch_array(): 3 is not a valid MySQL result resource
02 de July de 2012 às 02:35PM
Eu sempre coloco o conteúdo do WHERE entre aspas simples. Quem sabe... Teste aí...

"select $campos from $tabela WHERE status = '0' limit $inicio,$fim";
Jose Comparini
Re: Warning: mysql_fetch_array(): 3 is not a valid MySQL result resource
03 de July de 2012 às 02:41PM
Fiz isso e ainda continua dando o mesmo erro
da um echo na $query. veja se ela esta com problemas.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.