【问题标题】:TYPO3 MySQL select query, works in phpMyAdmin but not in TYPO3TYPO3 MySQL 选择查询,适用于 phpMyAdmin 但不适用于 TYPO3
【发布时间】:2013-10-31 13:05:41
【问题描述】:

如果我在 phpMyAdmin 中为我的数据库运行下面的代码,那么我会得到 17 条记录,但是当我在 TYPO3 6.1.4 中运行它时,我会在 DB (200) 中获得所有记录,为什么它在 TYPO3 中不能 100% 工作, 当它在 phpMyAdmin 中工作时。

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();

    }

【问题讨论】:

  • $catId 是什么值?
  • 尝试用一些值替换 $catId 来测试问题是否来自 catId 变量?
  • catID = 13,36 并且当我打印 catID 并且如果我将 IN (catID) 硬编码为 13,36 时它工作正常,那么它仍然会获得 200 条记录,但在 phpMyAdmin 中它会获得 16 条记录,并且没错..

标签: mysql typo3 typoscript


【解决方案1】:

为什么所有的逗号都用引号!?!?

$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;
";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多