2011-06-30 17 views
17

के साथ MySQL में अंतिम निष्पादित क्वेरी प्राप्त करें I Windows और Linux दोनों में MySQL में पिछली क्वेरी कैसे प्राप्त की जा सकती है?PHP/CodeIgniter

मैं PHP और CodeIgniter के साथ काम कर रहा हूं। my_model.php में, मेरे पास है:

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

मैं पिछले क्वेरी सही ऊपर कोड स्निपेट के बाद मार डाला की जरूरत है।

क्या कोई मुझे बता सकता है कि मैं अपनी आखिरी क्वेरी कैसे प्राप्त कर सकता हूं?

+0

जहां तक ​​मुझे पता है, कोई सामान्य "अंतिम क्वेरी प्राप्त करें" फ़ंक्शन नहीं है। आपको ये किस लिए चाहिए? –

+1

@ पेक्का, कोडइग्निटर में यह अंतर्निहित है :-) –

+0

@ रॉकेट आह, पर्याप्त मेला। –

उत्तर

36

उपयोग:

$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.... 

उदाहरण query helper functions

1

पर मैनुअल से लिया CodeIgniter में एक सहायक समारोह $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

हैं config में/database.php config सरणी सेट किया जाना चाहिए: 'save_queries' => सही है, अगर यह काम नहीं कर रहा last_query गलत है() समारोह।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^