2013-10-31 114 views
0

如果我在phpMyAdmin运行下面的代码为我的数据库,然后我得到17条记录,但是当我在TYPO3 6.1.4运行它,我得到了数据库中的所有记录( 200),为什么它不能在TYPO3中100%运行,当它在phpMyAdmin中运行时。TYPO3 MySQL的选择查询,工作在phpMyAdmin但不是在TYPO3

public function getKategorierne($catId){ 
     //print $catId; 
     $query = $this->createQuery(); 
     $query->statement('SELECT * '. 
          'FROM sys_category_record_mm '. 
          'INNER JOIN sys_category ON (uid = uid_local) '. 
          'WHERE tablenames = "tx_origkentaurproducts_domain_model_design" '. 
          'AND sys_category_record_mm.uid_local '. 
          'IN ('.$catId.') '. 
          'ORDER BY uid_foreign'); 

     return $query->execute(); 

    } 
+0

'$ catId'是什么值? –

+0

尝试用一些值替换$ catId以检测问题是否来自catId变量? – user

+0

catID = 13,36及其工作正常,当我打印catID,如果我硬编码IN(catID)为13,36,那么它仍然得到200记录,但在phpMyAdmin它得到16,这就是rigth .. –

回答

0

为什么所有的引号都是!

$query = " 
SELECT * 
    FROM sys_category_record_mm r 
    JOIN sys_category c 
    ON uid = uid_local 
WHERE tablenames = 'tx_origkentaurproducts_domain_model_design' 
    AND r.uid_local IN ('$catId') 
ORDER 
    BY uid_foreign; 
"; 
相关问题