2011-06-02 9 views
6

उपयोग करते हुए मेरे CodeIgniter मॉडल में एक Database_update_entry समारोह जो सफल फ़ॉर्म प्रविष्टि पर मार डाला जाता है MySQL के लिए।अवैध 0000-00-00 00:00:00 टाइमस्टैम्प php द्वारा भेजा जा रहा यहाँ CodeIgniter

<?php 
    function update_entry(){ 
     $data = array(
      'sl' => $this->input->post('item_sl'), 
      'item_name' => $this->input->post('item_name'), 
      'img_url' => $this->input->post('img_url'), 
      'sound_url' => $this->input->post('sound_url'), 
      'price' => $this->input->post('price'), 
      'unit' => $this->input->post('unit'), 
      'timestamp' => time(), 
     ); 
     echo "current time: ". time(); 
     $this->db->update(MY_TABLE_NAME, $data); 
    } 
?> 

डेटाबेस क्वेरी ठीक से क्रियान्वित हो जाता है .... लेकिन समय mysql तालिका में सेट हो जाता है कि 0000-00-00 00:00:00 जबकि <?php echo time() ?> बयान +१३०७०१८२२३ में से पता चलता है ब्राउज़र .... जो एक वैध यूनिक्स टाइमस्टैम्प है ... आप check the timestamp validity here कर सकते हैं।

यहाँ तालिका कि सफल update_query http://s3.amazonaws.com/awesome_screenshot/658523?AWSAccessKeyId=0R7FMW7AXRVCYMAPTPR2&Expires=1307020816&Signature=AncPjnzG9p9QTX7zebZp7c9teB0%3D

क्या मैं गलत कर रहा हूँ के बाद MySQL तालिका से डेटा लेता है का एक स्क्रीनशॉट है ??? कैसे मैं MySQL करने के लिए अपने php से एक कानूनी टाइमस्टैम्प पारित कर सकते हैं? [पी.एस. मैं जाँच की है कि मेरे mysql तालिका में टाइमस्टैम्प क्षेत्र एक टाइमस्टैम्प क्षेत्र]

उत्तर

5

mysql timestamp क्षेत्र की तारीख से yyyy-mm-dd H:i:s प्रारूप को स्वीकार तो आप इस प्रारूप में दिनांक पारित करने के लिए नहीं है यूनिक्स टाइमस्टैम्प

इस

'timestamp' => time() 

उपयोगके बजाय

'timestamp' => date('Y-m-d H:i:s') 

तुम सच में UNIX time stamp परिवर्तन क्षेत्र प्रकार स्टोर करने के लिए CHAR

+0

क्षेत्र के लिए मैं किसी भी CHAR ** लंबाई निर्दिष्ट करने के लिए है ** ??? –

+0

@syedrakib: CHAR (11) टाइमस्टैम्प फ़ील्ड के लिए ठीक है –

+0

धन्यवाद भाई :) –

3

उपयोग date('Y-m-d H:i:s', time());

है;)

3

चाहते हैं आप एक समय स्टाम्प स्ट्रिंग, नहीं एक पूर्णांक प्रदान करने के लिए की जरूरत है। प्रयास करें:

'timestamp' => date('Y-m-d H:i:s', time()), 
+1

मैंने सोचा कि MySQL में यूनिक्स टाइमस्टैम्प को एक MySQL टाइमस्टैम्प में परिवर्तित करने की क्षमता है यदि यूनिक्स टाइमस्टैम्प टाइमस्टैम्प फ़ील्ड में जोड़ा गया है –

2

प्रारूप समय: date('Y-m-d H:i:s', time())

+0

मैंने सोचा था कि mysql है एक mySQL टाइमस्टैम्प करने के लिए एक यूनिक्स टाइमस्टैम्प परिवर्तित करता है, तो यूनिक्स टाइमस्टैम्प टाइमस्टैम्प क्षेत्र में जोड़ दिया जाता है की अपनी क्षमताओं .... धन्यवाद :) –

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