Jump to content


Photo

Problemas Com While E Mysql.


  • Faça o login para participar
5 replies to this topic

#1 Inu

Inu

    Veterano

  • Usuários
  • 1138 posts
  • Sexo:Masculino
  • Localidade:Canela, Rio Grande do Sul, Brasil

Posted 29/07/2007, 18:43

Assim, eu estou mandando umas mensagens, num sistema de mensagem privada. Porém, ao mandar em massa, ele dá problema. Uso um while. E tem dois membros no grupo com o mesmo 'rank'.
$sql = mysql_query("SELECT * FROM login WHERE rank='5'")or die(mysql_error());

while($r = mysql_fetch_array($sql)){
$sql_x = mysql_query("SELECT * FROM login WHERE rank='5'");
$sql_row = mysql_fetch_array($sql_x);

$xx = mysql_query("INSERT INTO `mp_entrada` (datahora, mem_env, mem_rec, conteudo, lida, assunto) VALUES ('$data','$id','$sql_row[id]','$mensagem',0,'$assunto'") or die (mysql_error());

if($xx){

echo "Mensagem enviada com sucesso!";

} else {

echo "Houve um erro ao enviar a mensagem. ";

}

}
.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Ele acusa do erro acima, porém não sei aonde está errado. Como procedo?

Obrigado,

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 30/07/2007, 00:56

Por quê cargas d'água você faz a mesma consulta dentro do while()? :D

Flws..
;)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Inu

Inu

    Veterano

  • Usuários
  • 1138 posts
  • Sexo:Masculino
  • Localidade:Canela, Rio Grande do Sul, Brasil

Posted 30/07/2007, 13:07

Foi um teste. Haha.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

elseif($grupo == 5){

$sql = mysql_query("SELECT * FROM login WHERE rank='5'") or die(mysql_error());

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

$xx = mysql_query("INSERT INTO `mp_entrada` (datahora, mem_env, mem_rec, conteudo, lida, assunto) VALUES ('$data', '$id', '{$r['id']}', '$mensagem', 0, '$assunto'") or die (mysql_error());

if($xx){

echo "Mensagem enviada com sucesso!";

} else {

echo "Houve um erro ao enviar a mensagem. ";

}

}

}


#4 Inu

Inu

    Veterano

  • Usuários
  • 1138 posts
  • Sexo:Masculino
  • Localidade:Canela, Rio Grande do Sul, Brasil

Posted 01/08/2007, 19:31

Problema ainda não resolvido. =/

#5 cachopo

cachopo

    Turista

  • Usuários
  • 51 posts
  • Sexo:Masculino
  • Localidade:Assis, São Paulo

Posted 02/08/2007, 01:50

Remova as aspas de "rank" da SQL query e faça um teste.

SELECT * FROM login WHERE rank = 5

Edição feita por: cachopo, 05/02/2008, 04:30.


#6 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 02/08/2007, 12:28

$xx = mysql_query("INSERT INTO `mp_entrada` (datahora, mem_env, mem_rec, conteudo, lida, assunto) VALUES ('$data', '$id', '{$r['id']}', '$mensagem', 0, '$assunto'") or die (mysql_error());

Um desses atributos podem estar vindo vazios, por isso dá aquele erro na query.
Solução:
Debuga fio (y)

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq