Php não faz update mysql [RESOLVIDO]

1. Php não faz update mysql [RESOLVIDO]

alex moura
alexprog58

(usa Debian)

Enviado em 16/07/2015 - 21:48h

Olá pessoal eu tinha muitos recurso de código php em meu hd, porem tive um contratempo e perdi meus arquivos de códigos prontos estou uma certa dificuldade, eu estou criando um CRUD para um site.. a partir do zero, o arquivo de inserir.php que adiciona novo produto está ok, e o que excluir.php e lista_dados.php também funciona, porem o arquivo que atualiza_dados.php, pega os dados do mysql porem não atualiza , peço que se alguém puder me ajudar , Deus abençoe sua vida.

*este código é o da tabela sql

CREATE TABLE IF NOT EXISTS `produto` (
`produtoId` int(11) NOT NULL AUTO_INCREMENT,
`marca` varchar(100) CHARACTER SET armscii8 COLLATE armscii8_bin NOT NULL,
`produto` varchar(100) CHARACTER SET armscii8 COLLATE armscii8_bin NOT NULL,
`valor` varchar(100) CHARACTER SET armscii8 COLLATE armscii8_bin NOT NULL,
`validade` varchar(100) CHARACTER SET armscii8 COLLATE armscii8_bin NOT NULL,
`beep` varchar(100) CHARACTER SET armscii8 COLLATE armscii8_bin NOT NULL,
`volume` varchar(100) CHARACTER SET armscii8 COLLATE armscii8_bin NOT NULL,
`fonte` varchar(100) CHARACTER SET armscii8 COLLATE armscii8_bin NOT NULL,
KEY `produto_id` (`produtoId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;


*este codigo é conecta.php

<!-- <?php
//conecção com o servidor
$conect = mysql_connect("localhost", "user", "xxxxxx");

// Caso a conecção seja reprovada, exibe na tela uma mensagem de erro
if (!$conect) die ("<h1>Falha na coneco com o Banco de Dados!</h1>");

// Caso a conecção seja aprovada, então conecta o Banco de Dados.
$db = mysql_select_db("TestOne");


?>-->

*o próximo código é o atualiza_dado.php

<!--
<?php
include ("conecta.php");
if(count("$_POST")>0){
mysql_query("UPDATE produto SET marca='" . $_POST["marca"] . "', produto='" . $_POST["produto"] . "', valor='" . $_POST["valor"] . "', validade='" . $_POST["validade"] . "', beep='" . $_POST["beep"] . "' , volume='" . $_POST["volume"] . "', fonte='" . $_POST["fonte"] . "', WHERE produtoId='" . $_POST["produtoId"] . "'");

$message = "Sucesso Dado Atualizado";
}
$result=mysql_query("SELECT * FROM produto WHERE produtoId='" . $_GET["produtoId"] . "'");
$row= mysql_fetch_array($result);
?>
<html>
<head>
<title>Novo Produto</title>
</head>
<body>
<form name="frmproduto" method="POST" action="">
<div style="width:500px;">
<div class="message"><?php if(isset($message)) { echo $message; } ?></div>
<div align="right" style="padding-bottom:5px;"><a href="list_produto.php" class="link"><img alt='List' title='List' src='images/list.png' width='15px' height='15px'/> Listar Produto</a></div>
<table border="0" cellpadding="10" cellspacing="0" width="500" align="center" class="tblSaveForm">
<tr class="tableheader">
<td colspan="2">Atualizar Produto</td>
</tr>
<tr>
<td><label>marca</label></td>
<td><input type="text" name="marca" class="txtField" value="<?php echo $row['marca']; ?>"></td>
</tr>
<tr>
<td><label>produto</label></td>
<td><input type="text" name="produto" class="txtField" value="<?php echo $row['produto']; ?>"></td>
</tr>
<tr>
<td><label>valor</label></td>
<td><input type="text" name="valor" class="txtField" value="<?php echo $row['valor']; ?>"></td>
</tr>
<tr>
<td><label>validade</label></td>
<td><input type="text" name="validade" class="txtField" value="<?php echo $row['validade']; ?>"></td>
</tr>
<tr>
<td><label>beep</label></td>
<td><input type="text" name="beep" class="txtField" value="<?php echo $row['beep']; ?>"></td>
</tr>
<tr>
<td><label>volume</label></td>
<td><input type="text" name="volume" class="txtField" value="<?php echo $row['volume']; ?>"></td>
</tr>
<tr>
<td><label>fonte</label></td>
<td><input type="text" name="fonte" class="txtField" value="<?php echo $row['fonte']; ?>"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value="submit" class="btnSubmit"></td>
</tr>
</table>
</div>
</form>
</body></html>

-->


  


2. Re: Php não faz update mysql [RESOLVIDO]

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 16/07/2015 - 23:47h

Primeiramente, procure usar os comandos mysqli ao invés dos comandos da defasada biblioteca mysql. Leia mais em: http://php.net/manual/pt_BR/book.mysqli.php

Sobre o UPDATE, não lerei o código pois está muito grande. O que tu pode fazer é uma depuração sobre o motivo de não estar executando a query:

mysql_query("UPDATE ...") or die( mysql_error() );  


Ele apresentará na tela a mensagem de erro gerada pelo MySQL caso exista algum erro de sintaxe.


3. Re: Php não faz update mysql [RESOLVIDO]

CASSIO FERRAZ
cassio88

(usa Ubuntu)

Enviado em 17/07/2015 - 15:36h

Faz o seguinte: altere o código para
$sql="UPDATE produto SET marca='" . $_POST["marca"] . "', produto='" . $_POST["produto"] . "', valor='" . $_POST["valor"] . "', validade='" . $_POST["validade"] . "', beep='" . $_POST["beep"] . "' , volume='" . $_POST["volume"] . "', fonte='" . $_POST["fonte"] . "', WHERE produtoId='" . $_POST["produtoId"] . "'";

Antes de executar a query, dê o comando

die($sql);

Rode a consulta. Vai aparecer na tela:

UPDATE produto SET marca=(...)

ou seja, aparecerá os valores ao invés dos $_POST

Visualmente, verifique se não falta aspas em alguma coisa. Se não conseguir descobrir, copie e cole a consulta num cliente mysql (tipo phpmyadmin), rode a consulta e veja a mensagem de erro. Se não descobrir, coloque uma mensagem com a consulta

UPDATE produto SET marca=(...)
e a mensagem de erro



4. achei a solução

alex moura
alexprog58

(usa Debian)

Enviado em 25/07/2015 - 21:16h

pessoal obrigado a todos eu tentei de todos os meios mas não deu certo então eu resolvi testar o codigo e mandei iprimir o produtoId com method _POST não não imprimiu valor se quer, mudei para o method _GET e imprimiu valor correspondente com o item selecionado na lista.

reditei então o codigo php do form alterando a linha na frete de WHERE produtoId='" . $_GET["produtoId"] . "'"); com method _GET ao invés de _POST , funcionou perfeitamente.

abaixo segue o codigo php da parte do form html update para que todos possam estudar e ate mesmo utilizar em seus sites.

<?php
require_once "conecta.php";
if(count($_POST)>0) {
mysql_query("UPDATE produto set marca='" . $_POST["marca"] . "', produto='" . $_POST["produto"] . "', valor='" . $_POST["valor"] . "', validade='" . $_POST["validade"] . "', beep='" . $_POST["beep"] . "', volume='" . $_POST["volume"] . "', fonte='" . $_POST["fonte"] . "' WHERE produtoId='" . $_GET["produtoId"] . "'");
}
$current_id = mysql_insert_id();WHERE produtoId='" . $_GET["produtoId"] . "'");
if(!empty($current_id)) {
$message = "Atualizado com Sucesso";

}

$result=mysql_query("SELECT * FROM produto WHERE produtoId='" . $_GET["produtoId"] . "'");
$row= mysql_fetch_array($result);
?>






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts