我正在开发一个项目,这里是代码,问题是我想在$ newMedicament中添加$ newRapport数组值(VIS_MATRICULE,RAP_NUM)。 如果(isset($ _ POST [' add_rapport'])){
$newRapport = array (//'VIS_MATRICULE'=>$this->input->post('VIS_MATRICULE'),
'VIS_MATRICULE'=>$_POST['VIS_MATRICULE'],
'RAP_NUM'=> '',
'PRA_NUM'=>$_POST['PRA_NUM'],
'RAP_DATE'=>$_POST['RAP_DATE'],
'RAP_BILAN'=>$_POST['RAP_BILAN'],
'RAP_MOTIF'=>$_POST['RAP_MOTIF']);
$this->db->insert('rapport_visite', $newRapport);
// Pour Les Composants
//Pour les Médicaments
$newMedicament = array ('VIS_MATRICULE'=>$_POST['VIS_MATRICULE'],
'RAP_NUM'=> '',
'MED_DEPOTLEGAL'=>$_POST['MED_DEPOTLEGAL'],
'OFF_QTE'=>$_POST['OFF_QTE']) ;
$this->db->insert('offrir', $newMedicament);
}
问题是它说:
A Database Error Occurred
Error Number: 1452
Cannot add or update a child row: a foreign key constraint fails (`swissvisite`.`offrir`, CONSTRAINT `offrir_ibfk_2` FOREIGN KEY (`VIS_MATRICULE`, `RAP_NUM`) REFERENCES `rapport_visite` (`VIS_MATRICULE`, `RAP_NUM`))
INSERT INTO `offrir` (`VIS_MATRICULE`, `RAP_NUM`, `MED_DEPOTLEGAL`, `OFF_QTE`) VALUES ('a131', '', 'EVILR7', '2')
Filename: C:\wamp\www\code\system\database\DB_driver.php
Line Number: 330
答案 0 :(得分:0)
1.看起来你的桌子swissvisite正在破坏约束offrir_ibfk_2。您了解外键约束依赖于数据完整性。您无法更新TableA(swissvisite),除非(rav_MATRICULE ,
RAP_NUM)存在于rapport_visite表中,用于插入swissvisite的记录。
2.看起来你在控制器中这样做:这是不正确的:
在构造中加载模型:
public function __construct()
{
parent::__construct();
$this->load->model('mymodel');
}
public function myfunction()
{
$myarray = $_POST['mydata'];
//call your model
$this->mymodel->insert_into_db($myarray);
}
}
最后请不要将$ _POST数据直接传递到您的查询中,将其绑定到变量并传递给它们。