当我在php代码中运行时,具有特定值的查询不返回任何行

时间:2013-08-18 23:43:55

标签: php mysql

以下是我创建页面链接的方法

<a href="http://www.site.com/wiki/city/<?php echo urlencode($city); ?>" ><?php echo urlencode($city); ?></a>

以下是这个特定城市的网址:

http://www.site.com/wiki/city/Qazvin+%28city%29

在目标页面上,当我尝试从数据库获取此城市时,它返回false。它找不到任何行。

    SELECT * from citys WHERE title = 'Qazvin (city)'
    boolean false
(i print out the query in the page  ) 

如果我从PHPMyAdmin SQL控制台复制并运行它,它将返回几行。我只对这个特定的城市有问题

我正在使用MVC框架

控制器:

 public function city($title=' '){ 

     $title = urldecode($title); 
     $city  = $this->m_wiki->getCITY( $title );
     echo $this->db->last_query();
     var_dump($city);
}

型号:

    public function getCITY($title){    
        $city =  $this->db->query("SELECT * from citys WHERE  title = '$title'");
        if($city->num_rows() > 0 )
        return $city;
        return false;
    }

1 个答案:

答案 0 :(得分:0)

不要urldecode() - 这是错误的,因为PHP已经自动为你做了这个。

逃避你的疑问!该部分缺失,但必须完成,因为它不仅对安全性至关重要,而且还会使您的查询与非标准字符一起使用。