Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola,
Estou com problema no update do banco, simplesmente não atualiza. Verifiquei e os dados estão vindo. O mais engraçado é que o mysql_error() não retorna nenhum erro. O que será que pode estar acontecendo? Abaixo o código
<?php
include(".././bd/conexao.php");
$id_medicamento = $_GET['id_medicamento'];
$nome_medicamento = $_GET['nome_medicamento'];
$generico_medicamento = $_GET['generico_medicamento'];
$nome_lab_medicamento = $_GET['nome_lab_medicamento'];
$contra_indic_medicamento = $_GET['contra_indic_medicamento'];
$posologia_medicamento = $_GET['posologia_medicamento'];
$subs_ativa_medicamento = $_GET['subs_ativa_medicamento'];
$obs_medicamento = $_GET['obs_medicamento'];
$altera_medicamento = "UPDATE medicamentos SET nome_medicamento = '$nome_medicamento',
generico_medicamento = '$generico_medicamento',
nome_lab_medicamento = '$nome_lab_medicamento',
contra_indic_medicamento = '$contra_indic_medicamento',
posologia_medicamento = '$posologia_medicamento',
subs_ativa_medicamento = '$subs_ativa_medicamento',
obs_medicamento = '$obs_medicamento' where id_medicamento = '$id_medicamento'";
mysql_query($altera_medicamento) or die(mysql_error());
?>>
antes de executar a query, verifica como ela está ficando
echo $altera_medicamento;
troque
where id_medicamento = '$id_medicamento'"
por
where id_medicamento = $id_medicamento"
onde for número não use aspas
coloquei um echo na variavel e os dados estão retornando normalmente veja
UPDATE medicamentos SET nome_medicamento = 'testaaaaa', generico_medicamento = 'aaaa', nome_lab_medicamento = '', contra_indic_medicamento = '', posologia_medicamento = '', subs_ativa_medicamento = '', obs_medicamento = '' where id_medicamento = 11
echo $altera_medicamento = '
UPDATE
`medicamentos`
SET
`nome_medicamento` = \'' . $nome_medicamento . '\',
`generico_medicamento` = \'' . $generico_medicamento . '\',
`nome_lab_medicamento` = \'' . $nome_lab_medicamento . '\',
`contra_indic_medicamento` = \'' . $contra_indic_medicamento . '\',
`posologia_medicamento` = \'' . $posologia_medicamento . '\',
`subs_ativa_medicamento` = \'' . $subs_ativa_medicamento . '\',
`obs_medicamento` = \'' . $obs_medicamento . '\'
WHERE
`id_medicamento` = '.$id_medicamento.'
';
Tenta assim... posta o resultado.
antes de executar a query, verifica como ela está ficando
echo $altera_medicamento;
troque
where id_medicamento = '$id_medicamento'"
por
where id_medicamento = $id_medicamento"
onde for número não use aspas