此时我会像这样访问我的帖子
http://localhost/post/174565/
一切正常,但当我试图像这样访问它们时
http://localhost/post/1745s65/
我收到错误
Error Number: 1054
Unknown column '1745s65' in 'where clause'
SELECT * FROM posts WHERE id = 1745s65;
Filename: D:\Localhost\Apache\htdocs\code\system\database\DB_driver.php
Line Number: 330
我理解它为什么存在,但如何处理呢?例如,我的用户不需要查看SQL查询,我想显示404页面而不是此块。
答案 0 :(得分:2)
使用例外:
try{
//here what you need to do with script
} catch (Exception $e) {
var_dump($e->getMessage());
show_404();
}
我认为你也可以尝试:
$database['db_debug'] = FALSE;
中的{p> config/database.php
如果要删除数据库错误
答案 1 :(得分:1)
试试这段代码:
public function getPostData($iPostId) {
$sqlQuery = $this->db->get_where('posts', array('id' => $iPostId));
$aResult = $sqlQuery->result();
if (empty($aResult)) {
show_404();
}
else {
return $aResult[0];
}
}
答案 2 :(得分:0)
您需要验证用户输入以防止出现此问题。 无论如何,Codeigniter有两个预设环境:开发和生产。检查root index.php以获取更多信息。