2011-06-30 3 views
17

最後のクエリを取得する方法WindowsとLinuxの両方でMySQLを実行しましたか?PHP/CodeIgniterを使用してMySQLで最後に実行されたクエリを取得します

私はPHPとCodeIgniterを使用しています。 my_model.phpでは、私が持っている:

$query1 = (...something...); 
$query2 = (...something...); 
$variables = (.... something ....); 
$this->db->query(" $query1 ... $variables .. $query2", array($variables, ...)); 

は私が右の上記のコードの後に​​実行された最後のクエリを必要とします。

最後のクエリを取得する方法を教えてもらえますか?

+0

私が知る限り、一般的な「get last query」機能はありません。何のためにそれが必要ですか? –

+1

@Pekka、CodeIgniterには次のような組み込みがあります:-) –

+0

@Rocket ah、十分な公正。 –

答えて

1

にマニュアルから取ら

$this->db->last_query(); 

Returns the last query that was run (the query string, not the result). Example: 
$str = $this->db->last_query(); 

// Produces: SELECT * FROM sometable.... 

例えばヘルパー関数$this->db->last_query();があります。

これは、最後のクエリの文字列を返します。詳細については、

$query1 = (...something...); 
$query2 = (...something...); 
$variables = (.... something ....); 
$query = $this->db->query(" $query1 ... $variables .. $query2", array($variables, ...)); 

foreach ($query->result() as $row) { 
//code goes here 
} 

CI's examples見て取る:

しかし、私はあなたが結果を得るためにどのように尋ねるかもしれないと思うが、その場合、あなたは何だろう。

4

その他の便利な機能をお使いにデバッグしている場合は設定で

mysql_errno(); // Returns the error number of the last MySQL operation 3 
mysql_error(); // Returns the error description of the last MySQL operation 
mysql_info(); // Returns information about the last query 
1

ある/ database.phpで設定配列を設定する必要があります。それがfalseの場合「save_queriesは」=> TRUE、last_queryを動作していません()関数。

関連する問題