昨天我改变了我的数据库模式,并在我的应用程序中更改了数据库查询,此后我一直收到500个内部服务器错误。我不认为问题是查询,因为我可以从我的模型运行它,并从我的控制器打印数组。问题似乎是在构建模板时。500更改mysql查询后发生内部服务器错误
下面是我的代码,
模型
public function searchCandidates($type=null, $gender=null, $age=null)
{
if($age != "0") {
$age = implode(", %",$age);
}
$sql = 'SELECT `candidates`.`candidate_id`,
`candidates`.`first_name`,
`candidates`.`surname`,
`candidates`.`DOB`,
`candidates`.`gender`,
`candidates`.`talent`,
`candidates`.`location`,
`candidates`.`availability`,
`candidates`.`youtube_showreel_1`,
`candidates`.`youtube_showreel_2`,
`candidates`.`youtube_showreel_3`,
`candidates`.`youtube_showreel_4`,
`candidates`.`youtube_showreel_5`,
`candidates`.`youtube_showreel_desc_1`,
`candidates`.`youtube_showreel_desc_2`,
`candidates`.`youtube_showreel_desc_3`,
`candidates`.`youtube_showreel_desc_4`,
`candidates`.`youtube_showreel_desc_5`,
`candidates`.`date_created`,
DATE_FORMAT(NOW(), "%Y") - DATE_FORMAT(`candidates`.`DOB`, "%Y") - (DATE_FORMAT(NOW(), "00-%m-%d") < DATE_FORMAT(`candidates`.`DOB`, "00-%m-%d")) as `age`,
`candidate_assets`.`url`,
`candidate_assets`.`asset_size`
FROM `candidates`
LEFT JOIN `candidate_assets` ON `candidate_assets`.`candidates_candidate_id` = `candidates`.`candidate_id`
WHERE `candidates`.`availability` = "yes"';
//is there a certain criteria
if($type != "0") { $sql .= 'AND `candidates`.`talent` = '.$type; }
if($age != "0") { $sql .= 'AND `candidates`.`playing_age` LIKE "%'.$age.'%"';}
if($gender != false){ $sql .= 'AND `candidates`.`gender` = '.$gender; }
$sql .= ' GROUP BY `candidates`.`candidate_id`';
$query = $this->db->query($sql);
//die(print_r($query->result_array()));
//die($this->db->last_query());
return $query->result_array();
}
控制器
$data['results'] =
$this->candidates_model->searchCandidates($this->input->post('type'), $this->input->post('gender'), $this->input->post('age'));
$this->session->set_userdata('search', $data['results']);
//die(print_r($this->session->userdata('search')));
$this->template->build('search/results', $data);
在我的错误日志中的错误看起来是这样的,
[Fri Dec 09 10:28:49 2011] [error] [client xx.xx.xx.xxx]格式错误 标题为 脚本。坏头=烧烤%3A2%3A%2259%22%的3BS%3A10%3A%:index.php文件,引用者:http://urbantalent.factoryagency.co.uk/search
“guess”?这是赌徒网站吗?我认为对程序员来说是。 –
是的,猜测。因为我可以看到这是由set-cookie引起的,但由于我无法访问代码,因此我无法100%确定。有人需要尝试。不同意您的-1 – DmitryK
您的猜测是什么完美的,一个优化的mysql查询后面我们再次猜测烹饪! – Udders