Typo3 类型3扩展名:exec_SELECTquery和SELECTquery之间有什么区别?

Typo3 类型3扩展名:exec_SELECTquery和SELECTquery之间有什么区别?,typo3,Typo3,我在一个扩展文件中看到了以下代码: $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery( 'fu.uid, fu.tstamp, fu.username, fu.usergroup, fu.email, fu.tx_jcregister_first_name, fu.tx_jcregister_last_name', 'fe_users fu'.$from,

我在一个扩展文件中看到了以下代码:

$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
                    'fu.uid, fu.tstamp, fu.username, fu.usergroup, fu.email, fu.tx_jcregister_first_name, fu.tx_jcregister_last_name',
                    'fe_users fu'.$from,
                    $where,
                    '',
                    $markerArray['###SORT###'].' '.$markerArray['###ORDER###'],
                    $limit
                );
当我检查文件class.t3lib_db.php时,我看到了另一个函数/方法:

function SELECTquery($select_fields, $from_table, $where_clause, $groupBy = '', $orderBy = '', $limit = '')
所以我的问题是:


exec\u SELECTquery
SELECTquery
之间有什么区别?当使用
exec\u SELECTquery
?当使用
SELECTquery

时,在这个类中有更多的数据库操作放在单个方法中,如
update
delete
等等。它们成对出现,其中一个前缀为
exec
。如果您阅读了(很明显,您没有阅读),每个方法都会得到很好的解释

不带前缀的方法执行都返回一个字符串,即生成的查询。
exec_xyz
都返回一个查询结果,因为查询不仅已生成,而且还已执行了execUTE,顾名思义

function exec_SELECTquery($select_fields, $from_table, $where_clause, $groupBy = '', $orderBy = '', $limit = '') {
    $query = $this->SELECTquery($select_fields, $from_table, $where_clause, $groupBy, $orderBy, $limit);
    $res = mysql_query($query, $this->link);
    if ($this->debugOutput) {
        $this->debug('exec_SELECTquery');
    }
    if ($this->explainOutput) {
        $this->explain($query, $from_table, $this->sql_num_rows($res));
    }
    return $res;
}
如果您暂时忽略两个
If
s,那么这个方法只不过是在执行查询时“包装”查询构建。这两个条件仅用于调试

顺便说一句:我强烈建议你自己做更多的研究,比如谷歌it,看看文档,或者只是看看代码中更深的部分。如果您不理解您的问题所涉及的一小段代码,我怀疑您是否有必要像您最近的问题所暗示的那样,调查此级别细节的TYPO3扩展(无意冒犯)