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


Query with specific value returns no rows when I run it within php code

以下是我如何创建到页面的链接

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

以下是这个特定城市的url:

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  ) 

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

我使用的是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;
    }

不要urldecode()-这是错误的,因为PHP已经自动为您做到了这一点。

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