【发布时间】:2014-04-05 04:34:32
【问题描述】:
程序员朋友们好!由于某些奇怪的原因,该函数在执行第一个查询后不会返回任何内容。我注意到 $error 变量没有被返回,检查后我注意到在执行第一个查询后什么都不会返回。任何想法为什么会发生这种情况?
public function store_review(){
$this->load->database();
$error = NULL;
$title = $this->input->post('title');
$raiting = $this->input->post('raiting');
$description = $this->input->post('description');
//Insert review
$this->db->query("INSERT INTO reviews (title, raiting) VALUES (?, ?)", array($title, $raiting));
if ($this->db->affected_rows() == 1){
$reviewID = $this->db->insert_id();
//If review inserted insert description
$this->db->query("INSERT INTO reviews_descriptions (review_id, description) VALUES (?, ?)", array($reviewID, $description));
if ($this->db->affected_rows() != 1){
$error = 'Could not insert review description.';
}
}
else {
//If review could not be inserted duplicate exists
$error = 'Review already exists.';
}
//THE FUNCTION WILL NOT EXECUTE ANY RETURNS AFTER THE FIRST QUERY
return $error;
}
注意:我正在使用 CodeIgniter。
【问题讨论】:
-
请说明您是如何运行
store_review并检查返回值 -
$error = $this->model->store_review(); if(isset($error)) echo '设置错误';
标签: php function codeigniter return