当我尝试使用页面上的表单修改数据库上的值时,它只是给了我成功的消息,但它没有做任何事情。
<?php
include "header.php";
include "conexao.php";
echo "<h1>Pagina para alterar familia</h1><hr>";
$referencia=$_GET['id'];
$sql = "SELECT * ";
$sql = $sql . " FROM tb_familia ";
$sql = $sql . " WHERE fa_codigo='".$referencia."'";
$produtos = $db->query($sql);
foreach ($produtos as $produto) {
$referencia = $produto["fa_codigo"];
$nome = $produto["fa_descricao"];
//$preco = $produto["pr_preco"];
$disponivel = $produto["fa_disponivel"];
}
echo "<h2>Referencia: ".$referencia."</h2>";
echo "<h2>Nome: ".$nome."</h2><hr>";
?>
<form action="confirmaAlterarfamilia.php">
Referencia: <input type="text" name="referencia" value="<?php echo $referencia?>">
Nome: <input type="text" name="nome" value="<?php echo $nome?>">
<button>Alterar</button>
</form>
<p><p>
这是代码中实际尝试修改内容的另一部分。
<?php
include "conexao.php";
$nome=$_GET['nome'];
$referencia=$_GET['referencia'];
$sql="UPDATE tb_familia SET fa_descricao='".$nome;
$sql.= " WHERE fa_codigo='".$referencia."'";
try{
$comando=$db->prepare($sql);
$comando->execute();
echo "<h1>Alterado com sucesso</h1>";
}
catch (PDOException $e){
echo "A";
}
答案 0 :(得分:1)
默认情况下,如果你想抓住PDOException
,PDO不会抛出异常,你必须这样做:
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
您还应该更喜欢使用字符串连接的预准备语句:
$sql="UPDATE tb_familia SET fa_descricao=? WHERE fa_codigo=?";
$comando=$db->prepare($sql);
$comando->execute(array($nome,$referencia));
答案 1 :(得分:0)
立即尝试:
$sql="UPDATE tb_familia SET fa_descricao='".$nome."'";
$sql.= " WHERE fa_codigo='".$referencia."'";
你错过了引号