
		LucianoAlexandre
		
		(usa Ubuntu)
		
		Enviado em 24/09/2015 - 21:29h 
		Olá, estou criando uma página de cadastro de produto em php a classe DaoProduto está da seguinte forma:
<?php
require './conexao.php';
require './class-produto.php';
class DaoProduto {
    public static $instance;
    private function __construct() {
        //
    }
    public static function getInstance() {
        if (!isset(self::$instance))
            self::$instance = new DaoProduto();
        return self::$instance;
    }
    public function getNextID() {
        try {
            $sql = "SELECT Auto_increment FROM information_schema.tables WHERE table_name='produto'";
            $result = Conexao::getInstance()->query($sql);
            $final_result = $result->fetch(PDO::FETCH_ASSOC);
            return $final_result['Auto_increment'];
        } catch (Exception $e) {
            print "Ocorreu um erro ao tentar executar esta ação, foi gerado um LOG do mesmo, tente novamente mais tarde.";
        }
    }
    public function Inserir(Produto $produto) {
        try {
            $sqlP = "INSERT INTO produto (    
                  nome,
                  fabricante,
                  codigo,
                  detalhes,
                  descricao,
                  veiculos_compativel,
                  garantia,
                  loja_id
                  )
                  VALUES (
                  :nome,
                  :fabricante,
                  :codigo,
                  :detalhes,
                  :descricao,
                  :veiculos_compativel,
                  :garantia,
                  :loja_id
                  )";
            $p_sql = Conexao::getInstance()->prepare($sqlP);
            $p_sql->bindValue(":nome", $produto->getNome());
            $p_sql->bindValue(":fabricante", $produto->getFabricante());
            $p_sql->bindValue(":codigo", $produto->getCodigo());
            $p_sql->bindValue(":detalhes", $produto->getDetalhes());
            $p_sql->bindValue(":descricao", $produto->getDescricao());
            $p_sql->bindValue(":vaiculos_compativel", $produto->getVeiculos_compativel());
            $p_sql->bindValue(":garantia", $produto->getGarantia());
            $p_sql->bindValue(":loja_id", $produto->getLoja_id());
            return $p_sql->execute();
        } catch (Exception $e) {
            die($e);
            //print "!Ocorreu um erro ao tentar executar esta ação, foi gerado um LOG do mesmo, tente novamente mais tarde.";
        }
    }
}
?>
Quando tento cadastrar algum novo produto o navegador me retorna o seguinte erro:
exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in localhost/home/DAOproduto.php:65 Stack trace: #0 localhost/home/DAOproduto.php(65): PDOStatement->execute() #1 localhost/home/DAOproduto.php/validaCadastroProduto.php(44): DaoProduto->Inserir(Object(Produto)) #2 {main}
Será que alguém poderia me ajudar?