vdepizzol 0 Denunciar post Postado Dezembro 24, 2004 Olá, fiz um sistema para enviar newsletters, mas quando ele vai enviar a newsletter, dá o seguinte erro: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/ibiracu/www/administracao/newsletter/enviado.php on line 45 E a linha 45 do arquivo contém o seguinte código: PHP [/tr][tr]while ($row = mysql_fetch_assoc($result))[/tr] Porque tá dando esse erro? Sempre usei essa função e nunca tive problemas com ela... ;) Compartilhar este post Link para o post Compartilhar em outros sites
SnakeX 1 Denunciar post Postado Dezembro 24, 2004 e o que é que voçe tem no $result ? Compartilhar este post Link para o post Compartilhar em outros sites
LeoLoko 0 Denunciar post Postado Dezembro 24, 2004 Talvez sua consulta nao tenha retornado resultados, ou tem alguma aspas erradas essas coisa... Compartilhar este post Link para o post Compartilhar em outros sites
vdepizzol 0 Denunciar post Postado Dezembro 24, 2004 O código tá assim: PHP [/tr][tr]if($_POST[testar]) { $query = "SELECT email, nome FROM newsletter WHERE email= 'newsletter@ibiracu.com' ORDER BY data ASC"; } else { $query = "SELECT email, nome FROM newsletter ORDER BY data ASC"; } $result = mysql_query($query) or die("Error: " . mysql_error()); while ($row = mysql_fetch_assoc($result)) [/tr] Detalhe: se eu tirar a condição if(), dá o mesmo erro Compartilhar este post Link para o post Compartilhar em outros sites
vdepizzol 0 Denunciar post Postado Dezembro 24, 2004 Ah, e também tá na página o código para conectar o banco de dados: PHP [/tr][tr] include_once("../conecta.php");[/tr] Compartilhar este post Link para o post Compartilhar em outros sites
.G3 0 Denunciar post Postado Dezembro 24, 2004 Tem como você postar o codigo inteiro??? Compartilhar este post Link para o post Compartilhar em outros sites
vdepizzol 0 Denunciar post Postado Dezembro 24, 2004 O include conecta.php serve pra conectar o banco de dados e o redirect, para ter autenticacao de usuário: PHP [/tr][tr]<? include("../redirect.php");include("../../conecta.php"); $assunto = $_POST[assunto]; $mensagem = $_POST[mensagem]; if($_POST[view]) { echo ' <html> <head> <title>Visualizar newsletter</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="/Templates/estilo.css" rel="stylesheet" type="text/css"> </head> <body> '.$mensagem.'<p class="corpo"><a href="enviar.php?assunto='.urlencode($assunto).'&mensagem='.urlencode($mensagem).'">Voltar</a></p></body> </html>'; exit; } else { @include_once('/home/ibiracu/ultramail/ultramail.php'); $headers = ''; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: Ibiracu.com <newsletter@ibiracu.com>\n"; $headers .= "Return-Path: <contato@ibiracu.com>\n"; $headers .= "X-Priority: 3\n"; //1 UrgentMessage, 3 Normal $i = 0; $j = 0; if($_POST[testar]) { $query = "SELECT email, nome FROM newsletter WHERE email= 'newsletter@ibiracu.com' ORDER BY data ASC"; } else { $query = "SELECT email, nome FROM newsletter ORDER BY data ASC"; } $result = mysql_query($query) or die("Error: " . mysql_error()); while ($row = mysql_fetch_assoc($result)) { $email = $row['email']; $nome = $row['nome']; if($nome != "") { $mensagem_a_ser_enviada = str_replace('[nome]', $nome, $mensagem); } else { $mensagem_a_ser_enviada = str_replace('[nome]', $email, $mensagem); } $is_true = UltraMail($row['email'], $assunto, $mensagem_a_ser_enviada, $headers); if($is_true != true) { $query = "UPDATE newsletter SET erro= '1' WHERE email= '".$row['email']."'"; $result = mysql_query($query) or die("$query. " .mysql_error()); } else { $query = "UPDATE newsletter SET erro= '0' WHERE email= '".$row['email']."'"; $result = mysql_query($query) or die("$query. " .mysql_error()); } } ?> <html> <head> <title>Newsletter - Ibiracu.com</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="/Templates/estilo.css" rel="stylesheet" type="text/css"> </head> <body> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td><div align="center" class="corpo"><br> Newsletter enviada com sucesso!<br> <a href="ver_todos.php">Clique aqui para voltar</a></div></td> </tr> </table> </body> </html> <? } ?>[/tr] Compartilhar este post Link para o post Compartilhar em outros sites
.G3 0 Denunciar post Postado Dezembro 25, 2004 Kra na boa eu num encontrei erro nenhum..mais eu vou continuar procurando aki..vou ver se eu teste este script aki na minha maquina... Compartilhar este post Link para o post Compartilhar em outros sites
vdepizzol 0 Denunciar post Postado Dezembro 25, 2004 Eu tb não :( ...Acho que tá parecendo mais um bug do php... vai saber... :( Compartilhar este post Link para o post Compartilhar em outros sites
Lechensque 0 Denunciar post Postado Dezembro 25, 2004 Cara eu não sei se estou certo, mas acho que isso pode ser um erro, pelo que vi tem dois $query portando o código php pode não saber qual ler. modifique o nome de um dois $query, não sei se entendeu qualquer coisa eu tento ser mais claro da proxima vez. if($_POST[testar]) { $query = "SELECT email, nome FROM newsletter WHERE email= 'newsletter@ibiracu.com' ORDER BY data ASC"; } else { $query = "SELECT email, nome FROM newsletter ORDER BY data ASC"; } $result = mysql_query($query) or die("Error: " . mysql_error()); while ($row = mysql_fetch_array($result)) Deixe assim por exemplo: if($_POST[testar]) { $query = "SELECT email, nome FROM newsletter WHERE email= 'newsletter@ibiracu.com' ORDER BY data ASC"; } else { $query_1 = "SELECT email, nome FROM newsletter ORDER BY data ASC"; } $result = mysql_query($query) or die("Error: " . mysql_error()); while ($row = mysql_fetch_array($result)) Espero ter conseguido ajudar Até a proxima Compartilhar este post Link para o post Compartilhar em outros sites
hlegius 0 Denunciar post Postado Dezembro 25, 2004 Bem o PHP sobreescreve... eu tbm reaproveito variaveis... Olha aki: PHP [/tr][tr]$query = "SELECT email, nome FROM newsletter WHERE email= 'newsletter@ibiracu.com' ORDER BY data ASC";[/tr] De quem é esse email ? Seu ? Pois aki ele procura por todos os registros que contenham no campo email o endereço: newsletter@ibiracu.com Isso está certo? Para saber dá um print mysql_num_rows($query); até... :) Compartilhar este post Link para o post Compartilhar em outros sites
vdepizzol 0 Denunciar post Postado Dezembro 25, 2004 O código PHP [/tr][tr]if($_POST[testar]) {$query = "SELECT email, nome FROM newsletter WHERE email= 'newsletter@ibiracu.com' ORDER BY data ASC"; } else { $query = "SELECT email, nome FROM newsletter ORDER BY data ASC"; }[/tr] serve para saber, se o usuário clica em TESTAR NEWSLETTER, o sistema manda a newsletter só para newsletter@ibiracu.com, mas se o usuário clica em enviar, manda para todos os emails cadastrados no banco de dados. Alguém me ajuda!!! :( Compartilhar este post Link para o post Compartilhar em outros sites
mayconvm 0 Denunciar post Postado Dezembro 26, 2004 $result = mysql_query($query) or die("Error: " . mysql_error()); cara tenta assim: $result = mysql_query("$query"); coloca entre as aspas... :D n sei se vai funcionar mais tenta ai... Compartilhar este post Link para o post Compartilhar em outros sites
vdepizzol 0 Denunciar post Postado Dezembro 26, 2004 Continuou com o erro... :( Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/ibiracu/www/administracao/newsletter/enviado.php on line 45 Compartilhar este post Link para o post Compartilhar em outros sites
Keitaro 0 Denunciar post Postado Dezembro 26, 2004 Sabe o que acho mais estranho.. eh q no codigo esta mysql_fetch_array e no erro tah dando mysql_fetch_assoc...verifica denovo o arquivo q você tah rodando com o que postou... o erro nao esta batendo... Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Dezembro 26, 2004 Warning não é erro, tá? ;) http://forum.imasters.com.br/public/style_emoticons/default/shifty.gif Compartilhar este post Link para o post Compartilhar em outros sites
vdepizzol 0 Denunciar post Postado Dezembro 27, 2004 Não é erro mas também não funcionou!!! ;) A função é mesmo mysql_fetch_assoc()... eu acho que coloquei errado lá em cima, já q tava testando com outras funções pra ver se funcionava e acabei colocando o arquivo com a funcao diferente... Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Dezembro 27, 2004 Não funcionou eh? Dá uma mysql_num_rows na consulta pra ve se retorna algum result, vai ver como funcionaria se retornasse alguma coisa. -_- Compartilhar este post Link para o post Compartilhar em outros sites
vdepizzol 0 Denunciar post Postado Dezembro 27, 2004 Dei um mysql_num_rows() e resultou certo: 131... mas o mysql_fetch_assoc() não tá funcionando... :( Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Dezembro 28, 2004 Então tenta colocar mysql_fetch_array no lugar de mysql_fetch_assoc Compartilhar este post Link para o post Compartilhar em outros sites