0
SQL Query:
INSERT INTO tributos_prod (codigo, ncm, Descricao, preco, quantidade, v_total, situacao_trib_icms, origem_trib_icms, aliquota_icms, credito_icms, situacao_trib_pis, valor_base_pis, aliquota_pis, valor_pis, situacao_trib_cofins, valor_base_cofins, aliquota_cofins, valor_cofins, aliquota_interestadual, percent_prov_part, icms_part_uf_dest, icms_part_uf_rmt, icms_fcp_uf_dest, id_nfe) VALUES(:codigo, :ncm, :Descricao, :preco, :quantidade, :v_total, :situacao_trib_icms, :origem_trib_icms, :aliquota_icms, :credito_icms, :situaca_trib_pis, :valor_base_pis, :aliquota_pis, :valor_pis, :situaca_trib_cofins, :valor_base_cofins, :aliquota_cofins, :valor_cofins, :aliquota_interestadual, :percent_prov_part, :icms_part_uf_dest, :icms_part_uf_rmt, :icms_fcp_uf_dest, :id_nfe)
try {
$query = $conecta->prepare($sql);
$query->bindValue(':codigo',$codigo,PDO::PARAM_STR);
$query->bindValue(':ncm',$ncm,PDO::PARAM_STR);
$query->bindValue(':descricao',$descricao,PDO::PARAM_STR);
$query->bindValue(':preco',$preco,PDO::PARAM_STR);
$query->bindValue(':quantidade',$quantidade,PDO::PARAM_STR);
$query->bindValue(':v_total',$v_total,PDO::PARAM_STR);
$query->bindValue(':situacao_trib_icms',$situacao_trib_icms,PDO::PARAM_STR);
$query->bindValue(':origem_trib_icms',$origem_trib_icms,PDO::PARAM_STR);
$query->bindValue(':aliquota_icms',$aliquota_icms,PDO::PARAM_STR);
$query->bindValue(':credito_icms',$credito_icms,PDO::PARAM_STR);
$query->bindValue(':situacao_trib_pis',$situacao_trib_pis,PDO::PARAM_STR);
$query->bindValue(':valor_base_pis',$valor_base_pis,PDO::PARAM_STR);
$query->bindValue(':aliquota_pis',$aliquota_pis,PDO::PARAM_STR);
$query->bindValue(':valor_pis',$valor_pis,PDO::PARAM_STR);
$query->bindValue(':situacao_trib_cofins',$situacao_trib_cofins,PDO::PARAM_STR);
$query->bindValue(':valor_base_cofins',$valor_base_cofins,PDO::PARAM_STR);
$query->bindValue(':aliquota_cofins',$aliquota_cofins,PDO::PARAM_STR);
$query->bindValue(':valor_cofins',$valor_cofins,PDO::PARAM_STR);
$query->bindValue(':aliquota_interestadual',$aliquota_interestadual,PDO::PARAM_STR);
$query->bindValue(':percent_prov_part',$percent_prov_part,PDO::PARAM_STR);
$query->bindValue(':icms_part_uf_dest',$icms_part_uf_dest,PDO::PARAM_STR);
$query->bindValue(':icms_part_uf_rmt',$icms_part_uf_rmt,PDO::PARAM_STR);
$query->bindValue(':icms_fcp_uf_dest',$icms_fcp_uf_dest,PDO::PARAM_STR);
$query->bindValue(':id_nfe',$nNFe,PDO::PARAM_INT);
$query->execute();
}catch(PDOExcepetion $erro){
echo -1;
}
SQL structure tributos_prod:
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_nfe` int(11) NOT NULL,
`codigo` varchar(255) DEFAULT NULL,
`ncm` varchar(255) DEFAULT NULL,
`descricao` varchar(255) DEFAULT NULL,
`preco` varchar(255) DEFAULT NULL,
`v_total` varchar(255) DEFAULT NULL,
`quantidade` varchar(255) DEFAULT NULL,
`situacao_trib_icms` varchar(255) DEFAULT NULL,
`origem_trib_icms` varchar(255) DEFAULT NULL,
`aliquota_icms` varchar(255) DEFAULT NULL,
`credito_icms` varchar(255) DEFAULT NULL,
`situacao_trib_pis` varchar(255) DEFAULT NULL,
`valor_base_pis` varchar(255) DEFAULT NULL,
`aliquota_pis` varchar(255) DEFAULT NULL,
`valor_pis` varchar(255) DEFAULT NULL,
`situacao_trib_cofins` varchar(255) DEFAULT NULL,
`valor_base_cofins` varchar(255) DEFAULT NULL,
`aliquota_cofins` varchar(255) DEFAULT NULL,
`valor_cofins` varchar(255) DEFAULT NULL,
`aliquota_interestadual` varchar(255) DEFAULT NULL,
`percent_prov_part` varchar(255) DEFAULT NULL,
`icms_part_uf_dest` varchar(255) DEFAULT NULL,
`icms_part_uf_rmt` varchar(255) DEFAULT NULL,
`icms_fcp_uf_dest` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fk_nfe` (`id_nfe`),
CONSTRAINT `fk_nfe` FOREIGN KEY (`id_nfe`) REFERENCES `nfe` (`id`)
SQL structure nfe:
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_nfe` int(11) DEFAULT NULL,
`id_emitente` varchar(255) DEFAULT NULL,
`id_cliente` varchar(255) DEFAULT NULL,
`tipo_pessoa` varchar(255) DEFAULT NULL,
`n_cad` varchar(255) DEFAULT NULL,
`id_transportadora` varchar(255) DEFAULT NULL,
`situacao` varchar(255) DEFAULT NULL,
`ambiente` varchar(1) DEFAULT NULL,
`cfop` varchar(255) DEFAULT NULL,
`serie` int(3) DEFAULT NULL,
`data_emissao` varchar(255) DEFAULT NULL,
`data_saida_entrada` varchar(255) DEFAULT NULL,
`tipo_emissao` varchar(255) DEFAULT NULL,
`finalidade` varchar(255) DEFAULT NULL,
`cliente` varchar(255) DEFAULT NULL,
`uf_cliente` varchar(255) DEFAULT NULL,
`transportadora` varchar(255) DEFAULT NULL,
`metodo_pagamento` varchar(255) DEFAULT NULL,
`infs_fisco` varchar(255) DEFAULT NULL,
`infs_contribuinte` varchar(255) DEFAULT NULL,
`cuf` varchar(255) DEFAULT NULL,
`cnf` int(8) DEFAULT NULL,
`chave` varchar(255) DEFAULT NULL,
`recibo` varchar(255) DEFAULT NULL,
`protocolo` varchar(255) DEFAULT NULL,
`modalidade_frete` varchar(255) DEFAULT NULL,
`tipo_contribuinte` varchar(255) DEFAULT NULL,
`data_venda` varchar(255) DEFAULT NULL,
`itens` varchar(255) DEFAULT NULL,
`qt_itens` varchar(255) DEFAULT NULL,
`especie` varchar(255) DEFAULT NULL,
`qt_volumes` varchar(255) DEFAULT NULL,
`peso_liquido` varchar(255) DEFAULT NULL,
`peso_bruto` varchar(255) DEFAULT NULL,
`desconto` varchar(255) DEFAULT NULL,
`total` varchar(255) DEFAULT NULL,
`tipo_doc` varchar(255) DEFAULT NULL,
`tipo_impressao_danfe` varchar(255) DEFAULT NULL,
`cons_final` varchar(255) DEFAULT NULL,
`seq_evento` int(11) DEFAULT NULL,
`chaveReferenciada` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
Fatal error: Uncaught Exception 'Pdoexception' with message 'SQLSTATE[23000]: Integrity Constraint Violation: 1452 Cannot add or update a Child Row: a Foreign key Constraint fails (
bwdbwd_emissor_nfe.tributos_prod, CONSTRAINTfk_nfeFOREIGN KEY (id_nfe) REFERENCESnfe(id))'
-
Pdoexception: SQLSTATE[23000]: Integrity Constraint Violation: 1452 Cannot add or update a Child Row: a Foreign key Constraint fails (
bwdbwd_emissor_nfe.tributos_prod, CONSTRAINTfk_nfeFOREIGN KEY (id_nfe) REFERENCESnfe(id))
I tried to use in query : :VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
Starting to generate the following error:
Pdoexception: SQLSTATE[HY093]: Invalid Parameter number: Parameter was not defined
The mistake
SQLSTATE[HY093]usually falls in or you have more placeholders than values or otherwise have some name typed wrong. Already the main mistake (what you should focus on)SQLSTATE[23000]the value inid_nfemay not exist in the tablenfe– rray
Hello @rray, exactly this rsrs'. I’m performing a
insertfor a value ofid_nfethat does not exist in the tablenfe. Thank you.– lucasbento
Not directly related to the error, but consider making the Binds with an array and
for, that this code becomes difficult to maintain.– Isac