0

此刻我像这样访问我的帖子

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 页面而不是这个块。

4

3 回答 3

2

使用例外:

try{
       //here what you need to do with script
         } catch (Exception $e) {
            var_dump($e->getMessage());
            show_404();
              }

我想你也可以尝试把:

$database['db_debug'] = FALSE;config/database.php如果您想删除显示的数据库错误

于 2013-03-31T01:38:19.613 回答
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];
    }
}
于 2013-03-30T23:52:35.043 回答
0

您需要验证用户输入以防止出现此问题。总之,Codeigniter 有两个预设环境:开发和生产。检查您的根 index.php 以获取更多信息。

于 2013-03-30T23:23:53.733 回答