Ir para conteúdo

POWERED BY:

Arquivado

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

ThalysonCordeiro

[Resolvido] erro ao no array

Recommended Posts

pessoal, to com um problema que preciso resolver logo e vocs aqui são feras devem me ajudar. é o seguinte, tenho um site e tal, onde a pessoa pode se cadastrar para receber emails de promoções. beleza .. a pessoa se cadastra e recebe um email para confirmação. no meu bando de dados tem um campo "ativo" por padrao é ativo = n .. se a pessoa confirmar o campo do email vai para ativo = s. beleza, no meu gerenciador tenho uma opção de enviar emails de promoções para todos os emails cadastrados e confirmados (ativo = s). porem que quando eu clico em enviar emails, da dois erros:

 

LINHA 29 -- $total = mysql_num_rows($sql);

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/meusite/public_html/gerenciador/enviarEmails.php on line 29

 

LINHA 36 -- while( $lista = mysql_fetch_array($sql) ){

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/meusite/public_html/gerenciador/enviarEmails.php on line 36

 

minha pagina completa segue abaixo

 

<?php

 

$msg_assunto = $_POST["txtassunto"];

$msg_tipo = $_POST["msg_tipo"];

$mensagem = $_POST["txtconteudo"];

 

// ---------------------------------- VALIDAR CAMPOS --------------------------------

$camposOK = true;

$mensagem1 = "";

 

if ( $msg_assunto == "" ){

$mensagem1 = $mensagem1 . "Todos os campos devem estar preenchidos! <BR>";

$camposOK = false;

}

 

if ( $mensagem == "" ){

$mensagem1 = $mensagem1 . "Todos os campos devem estar preenchidos! <BR>";

$camposOK = false;

}

 

if ( $camposOK ){

 

include_once 'conexaobd.php';

 

$sql = "SELECT * FROM emails_cadastrados WHERE ativo = 's'";

 

mysql_query( $sql ) or die('Erro ao pesquisar emails ativos.' . mysql_error() );

 

$total = mysql_num_rows($sql);

 

$mailok = 0;

$falha = 0;

$a_nome = "Supermercado Lavagnoli";

$a_email = "admin@supermercadolavagnoli.com.br";

 

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

$email = $lista["email"];

$cabecalho = "From: $a_nome <$a_email>";

$cabecalho .= "\nReply-To: $a_nome <$a_email>";

$cabecalho .= "\nContent-Type: $msg_tipo";

mail($email,$msg_assunto,$mensagem,$cabecalho);

}

 

} else{

header("Location: enviarOfertas.php?msg=$mensagem1");

}

 

 

ME AJUDEM AI !!

 

Se alguem tiver outra ideia de enviar uma newletter eu tbm agradeço.

 

Só lembrando que se eu pego o código de pesquisa do banco utilizado ai em cima e coloco no phpmyadmin da certo, retorna 2 emails

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja o seguinte:

$sql = "SELECT * FROM emails_cadastrados WHERE ativo = 's'";

mysql_query( $sql ) or die('Erro ao pesquisar emails ativos.' . mysql_error() );

$total = mysql_num_rows($sql);

 

Você está contando o total da variável $sql, mas a query está na linha de baixo... se quiser que ela assuma o valor de $sql, você deve informar, isto, por exemplo

 

$sql = "SELECT * FROM emails_cadastrados WHERE ativo = 's'";

$sql = mysql_query( $sql ) or die('Erro ao pesquisar emails ativos.' . mysql_error() );

$total = mysql_num_rows($sql);

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.