Atualização de database
Galera eu tenho esse código ai só que estou com um problema, quando coloco na parte de UPDATE ... WHERE char_name='$antigo' funciona, mas se eu adicionar mais um where não pega mais, da a mensagem no site de que funcionou mas na database n modificou nada, o que eu estou fazendo é isso oh, UPDATE ... WHERE char_name='antigo' AND account_name='$usuario', sendo que $usuario é quando a pessoa loga, pois essa parte é numa página restrita aos cadastrados..
ASSIM Funciona mas qualquer pessoa pode editar o nome do char mesmo que não seja da conta da pessoa
Eu queria que pegasse +/- assim
Sendo que $usuario é a sessão que iniciou..
Alguém ajuda ae por favor, vou ficar esperando resposta...
DESDE JÁ MUITO OBRIGADO A TODOS!
ASSIM Funciona mas qualquer pessoa pode editar o nome do char mesmo que não seja da conta da pessoa
<?php $novo = $_POST['novo']; include('config.php'); $sql = "SELECT char_name FROM characters WHERE char_name='$novo'"; $consulta=mysql_query($sql); if(mysql_num_rows($consulta)>0) { echo "[ERRO]O usuário já existe.<br>";} elseif(empty($novo) or strstr($novo, ' ') or strstr($novo, 'ADM') or strstr($novo, 'GM')){ echo "[ERRO]Por favor, digite um Nome válido sem caracters especiais!<br>";} elseif ( $novo != $renovo ){ echo "[ERRO]O Novo nome e a confirmação do novo nome não conferem!<br>";} elseif ( $renovo == '' ){ echo "[ERRO]O campo REPITA O NOVO NOME não pode ficar vazio!<br>";} elseif ( $antigo == '' ){ echo "[ERRO]O campo Nome antigo não pode ficar vazio!<br>";} else { $insert_member = mysql_query("UPDATE `characters` SET char_name = '$novo' WHERE char_name='$antigo'");} if($insert_member) { echo("<p class='b01'>Modificação Completa! <a href=logado2.php>Click aqui</a>"); } else { echo("<p class='b01'>Modificação Falhou, <a href=trocarnome.php>Click aqui</a> para tentar novamente!</p>"); } ?>
Eu queria que pegasse +/- assim
<?php $novo = $_POST['novo']; include('config.php'); $sql = "SELECT char_name FROM characters WHERE char_name='$novo'"; $consulta=mysql_query($sql); if(mysql_num_rows($consulta)>0) { echo "[ERRO]O usuário já existe.<br>";} elseif(empty($novo) or strstr($novo, ' ') or strstr($novo, 'ADM') or strstr($novo, 'GM')){ echo "[ERRO]Por favor, digite um Nome válido sem caracters especiais!<br>";} elseif ( $novo != $renovo ){ echo "[ERRO]O Novo nome e a confirmação do novo nome não conferem!<br>";} elseif ( $renovo == '' ){ echo "[ERRO]O campo REPITA O NOVO NOME não pode ficar vazio!<br>";} elseif ( $antigo == '' ){ echo "[ERRO]O campo Nome antigo não pode ficar vazio!<br>";} else { $insert_member = mysql_query("UPDATE `characters` SET char_name = '$novo' WHERE char_name='$antigo' AND account_name='$usuario'");} if($insert_member) { echo("<p class='b01'>Modificação Completa! <a href=logado2.php>Click aqui</a>"); } else { echo("<p class='b01'>Modificação Falhou, <a href=trocarnome.php>Click aqui</a> para tentar novamente!</p>"); } ?>
Sendo que $usuario é a sessão que iniciou..
Alguém ajuda ae por favor, vou ficar esperando resposta...
DESDE JÁ MUITO OBRIGADO A TODOS!
comentários (3)
suspender
Lista de Respostas:
21/06/2009 9:56pm
(~15 anos atrás)
(~15 anos atrás)
a var $usuario traz o valor exato, e na tabela tem sim o campo account_name, eu queria saber se tem como eu fazer um comando para reconhecer somente a linha exemplo... só editar char_name se o $usuario fosse igual ao account_name que está na mesma linha do char_name, tem como???
22/06/2009 10:33am
(~15 anos atrás)
(~15 anos atrás)
Claro que tem, posta aqui a tabela, characters e char_name, o comando seria como descrito na sua pergunta.