0

私はうまく動作するこの単純なコードを持っています:

$sQuery = $this->db->query("SELECT domain FROM domainmarket.inventory_domains");

しかし、私がこれを使用するとき

$sQuery = $this->db->query("SELECT
                              invDom.domain,
                              sldPhr.phrase1
                            FROM domainmarket.inventory_domains invDom
                              INNER JOIN lux.domain_info domInfo
                                ON invDom.domain = domInfo.domain
                              JOIN lux.sld_stats sldStats
                                ON domInfo.sld = sldStats.sld
                              JOIN lux.sld_phrase sldPhr
                                ON sldPhr.sld = sldStats.sld");

またはこれ

$sQuery = $this->db->query("SELECT
                              invDom.domain,
                              sldPhr.phrase1
                            FROM domainmarket.inventory_domains invDom
                              INNER JOIN lux.domain_info domInfo
                                ON invDom.domain = domInfo.domain
                              JOIN lux.sld_stats sldStats
                                ON domInfo.sld = sldStats.sld
                              JOIN lux.sld_phrase sldPhr
                                ON sldPhr.sld = sldStats.sld
                            WHERE SOUNDEX(SUBSTRING_INDEX(invDom.domain, ".", 1)) = SOUNDEX('love')
                            ORDER BY invDom.appraised_price DESC");

すでにこのエラーが発生しています:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to
allocate 32 bytes) in
C:\xampp\htdocs\ci_test\system\database\drivers\mysql\mysql_result.php
on line 152

また

エラー番号: 1064 SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。 Near ' 1) ) = SOUNDEX('love') ORDER BY invDom.app' at line 5 SELECT invDom.domain, sldPhr.phrase1 FROM domainmarket.inventory_domains invDom INNER JOIN lux.domain_info domInfo ON invDom.domain = domInfo.domain JOIN lux.sld_stats sldStats ON domInfo.sld = sldStats.sld JOIN lux.sld_phrase sldPhr ON sldPhr.sld sldStats.sld WHERE SOUNDEX(SUBSTRING_INDEX(invDom.domain,, 1 )) = SOUNDEX('love') ORDER BY invDom.appraised_price DESC ファイル名: C:\xampp\htdocs\ci_test\system\database\DB_driver.php 行番号: 33

それぞれ。ただし、これらのコードはどちらも heidiSQL で正常に動作します.なぜ codeigniter でこのエラーが発生するのですか?

4

2 に答える 2

0

競合するため、クエリでダブルコンマを使用する代わりにシングルコンマを使用してください。

SELECT
  invDom.domain,
  sldPhr.phrase1
FROM domainmarket.inventory_domains invDom
  INNER JOIN lux.domain_info domInfo
    ON invDom.domain = domInfo.domain
  JOIN lux.sld_stats sldStats
    ON domInfo.sld = sldStats.sld
  JOIN lux.sld_phrase sldPhr
    ON sldPhr.sld = sldStats.sld
WHERE SOUNDEX(SUBSTRING_INDEX(invDom.domain, '.', 1)) = SOUNDEX('love')
ORDER BY invDom.appraised_price DESC
于 2013-02-02T18:20:54.027 に答える
0

引用の問題です。クエリをラップして、クエリで"使用します。

$sQuery = $this->db->query("
SELECT invDom.domain, sldPhr.phrase1 FROM domainmarket.inventory_domains invDom
INNER JOIN lux.domain_info domInfo ON invDom.domain = domInfo.domain
JOIN lux.sld_stats sldStats ON domInfo.sld = sldStats.sld
JOIN lux.sld_phrase sldPhr ON sldPhr.sld = sldStats.sld
WHERE SOUNDEX( SUBSTRING_INDEX(invDom.domain, '.', 1) ) = SOUNDEX('love')
ORDER BY invDom.appraised_price DESC");
于 2013-02-02T16:30:02.763 に答える