O insert funciona, mas o update não (PDO) ...
Boa noite galera,
Estou com um probleminha na hora de fazer uma atualização e o que me deixa mais maluco, é que a inclusão está funcionando normalmente ... :upset:
O que quero fazer: Atualizar um registro. OBS: (A inclusão está funcionando normalmente)
O problema: Confeço que não sei no que estou errando. Acredito ser na lógica e não na sintaxe, além de ser um aprendiz no PHP, sou mais aprendiz ainda em PDO ... :blush:
Também aparece essa mensagem de erro: Fatal error: Call to a member function bind_param() on a non-object in C:\Webserver\Apache2.2\htdocs\php\creativemanager.com.br\web\models\usuariosModel.class.php on line (A linha indicada é a linha que contém o bind_param()).
O que já fiz: Pensei que o updade seria fácil, pois já estou incluindo e consultando sem nenhum problema. Para ajudar a explicar o meu problema, montei esses "resuminhos" abaixo ...
Agradeço a ajuda de todos!!!
Estou usando o banco de dados MySQL com a tabela teste e os campos:
id, tinyint(4), PK, auto-incremento
nome, varchar(30)
usuariosModel.class.php
<?php
class UsuariosModel {
private $id;
private $nome;
public function getId(){
return $this->id;
}
public function setId($id){
return $this->id = $id;
}
public function getNome(){
return $this->nome;
}
public function setNome($nome){
return $this->nome = $nome;
}
public function updateTeste($usuariosModel){
$st_query = "UPDATE usuarios SET nome = ? WHERE id = ?";
$db = new DBModel();
$conn = $db->newConnection();
$stm = $conn->prepare($st_query);
$stm->bind_param('si', $usuariosModel->getNome(), $usuariosModel->getId());
$stm->execute();
return $stm->affected_rows;
}
}
atualizaTeste.php
<?php
include_once("models/dbModel.class.php");
include_once("models/usuariosModel.class.php");
if (isset($_POST["id"])) {
$id = $_POST["id"];
$nome = $_POST["nome"];
$usuariosModel = new UsuariosModel();
$usuariosModel->setId($id);
$usuariosModel->setNome($nome);
if ($usuariosModel->updateTeste($usuariosModel) > 0) {
echo "Atualizado com sucesso!";
} else {
echo "Erro ao atualizar ...";
}
} else {
echo "<p>Não foi encontrado o método POST</p>";
}
?>
Mais uma vez, obrigado pela ajuda!
Discussão (3)
Carregando comentários...