Ir para conteúdo

Arquivado

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

Renato Ferraz

Problema com UPDATE

Recommended Posts

Galera sou novato na programação, estou tentando fazer um form de atualização de dados, mais não estou conseguindo faze-lo funcionar.. segue o código:

 

<?php

// Inclui o arquivo que faz a conexão ao MySQL
require_once('Connections/conexao.php');
// Id da notícia a ser editada
$id_sip = $_GET["id"];
//Dados Ramal
$secret = $_POST["secret"];
$type = $_POST["type"];
if ($_POST["host"] == ""){
$host = "dynamic";
}
else{
$host = $_POST["host"];
}
$context = $_POST["context"];
if(isset($_POST['allow'])) {
$allow_a = $_POST['allow'];
$allow_array = "";
foreach($allow_a as $allow) {
$allow_array .= $allow.'&';
}
}
$allow_array = substr($allow_array, 0, (strlen($allow_array) - 1));
//Montamos a consulta SQL para deletar a(s) notícia(s) com ID maior ou igual a três
$query_sip = "UPDATE sip SET `secret` = `".$secret."`, `type` = `".$type."`, `context` = `".$context."`, `allow` = `".$allow_array."`, `host` = `".$host."` WHERE `id` = ".$id_sip."";
print $query_sip."<br>";
?>
se alguem puder me ajudar.. ele carrega os dados referente ao id que vem via url.. mais não altera..

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema esta no seguinte, você esta colocado os valores dentro de `` onde o correto é colocar dentro de '';

Os caracteres `` serve como caracteres de escape para o nome do seu campo para caso você use o nome de uma campo seu com o mesmo nome de uma funação sql.

 

O seu codigo sql deve ficar da seguinte forma:

$query_sip = "UPDATE sip SET `secret` = '$secret', `type` = '$type', `context` = '$context', `allow` = '$allow_array' , `host` = '$host' WHERE `id` = '$id_sip' ";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei e tive esse resultado

 

Parabéns!! A conexão ao banco de dados ocorreu normalmente!. 4
123
user
dynamic
ramais
g729
UPDATE sip SET `secret` = '123', `type` = 'user', `context` = 'ramais', `allow` = 'g729' , `host` = 'dynamic' WHERE `id` = '4'

 

Mas ele chegou a atualizar? acredito que sua query como o Ricardo falou deve ter um erro de sintaxe.

 

quando o certo seria

 

UPDATE sip SET secret = '123', type = 'user', context = 'ramais', allow = 'g729' , host = 'dynamic' WHERE id = 4

 

não precisa por aspas aonde vc quer, apenas no resultado que "vai" para o db, testa para ver se resolve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem como colocar o código todo do seu php?

 

Ai já vejo como posso te ajudar mais, porém o código php preciso saber da conexão

 

p.s: Não vá por os dados de conexão reais rsrs.. não esqueça de alterar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim uma dica para aprende SQL eu quando tava começando com php errava muito com sintax SQL para isso eu pegava e insiria direto no phpmyadmin e olhava la como erra gerado e pegava e comparava com o que eu tinha feito ai eu conseguia achar o erro.

 

E outra coisa que me ajudou muito foi o próprio manual do mysql.

http://dev.mysql.com/doc/refman/5.5/en/

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.