MySQL

2010-05-28 4 views
11

में दिनांक और समय सम्मिलित करें मैं mysql डेटाटाइम फ़ील्ड में दिनांक और समय सम्मिलित करने का प्रयास कर रहा हूं। जब कोई उपयोगकर्ता दिनांक और समय चुनता है, तो यह दो POST चर उत्पन्न करेगा। मैंने इंटरनेट खोजा है लेकिन अभी भी यह सुनिश्चित नहीं है कि इसे कैसे किया जाए।MySQL

मेरा कोड। 00: 00: 00

मैं इसकी सराहना करता है, तो किसी को भी मुझे इस बारे में मदद कर सकता है

//date value is 05/25/2010 
//time value is 10:00 

$date=$_POST['date']; 
$time=$_POST['time']; 

$datetime=$date.$time 

अगर मैं mysql में $ datetime डालें, दिनांक होना चाहिए 0000-00-00 प्रकट होता है। धन्यवाद।

+1

+1 सभी उत्तरों के लिए +1! धन्यवाद जीएसटीओ का जवाब! – FlyingCat

उत्तर

7
$datetime = $_POST['date'] . ' ' . $_POST['time'] . ':00'; 
$datetime = mysql_real_escape_string($datetime); 
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')"; 

वैकल्पिक समाधान है कि और अधिक स्वरूपों संभाल कर सकते हैं:

$datetime = $_POST['date'] . ' ' . $_POST['time']; 
$datetime = mysql_real_escape_string($datetime); 
$datetime = strtotime($datetime); 
$datetime = date('Y-m-d H:i:s',$datetime); 
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')"; 
+0

अच्छा समाधान! धन्यवाद! – FlyingCat

+0

एचएम .... किसी ने आपको -1 दिया .. सुनिश्चित नहीं है कि क्यों ... – FlyingCat

+1

क्योंकि पहले स्निपेट में एक एसक्यूएल इंजेक्शन भेद्यता है। मेरे से एक और -1।:-P :-) – Notinlist

3

मुझे लगता है कि दिनांक प्रारूप इस तरह दिखता है:

YYYY-MM-DD HH:MM:SS 

ताकि आप उस तरह देखने के लिए अपने $ दिनांक फ़ॉर्मेट करने के लिए मिल गया है। और आपकी क्वेरी में जिसे quoation अंकों में encapsulated की जरूरत है।

2
  • या तो आप स्ट्रिंग को बदलने,
  • YYYY-MM-DD HH:MM:SS प्रारूप अपने आप में होना करने के लिए या आप MySQL से str_to_date() समारोह का उपयोग करें।

1

जहाँ तक मुझे याद है के रूप में, डिफ़ॉल्ट रूप से, MySQL datetime: तालिका DATETIME मूल्यों() str_to_date ($ तिथि, "% i% एम /% d /% Y% ज") में

सम्मिलित करें "yyyy-mm-dd hh: mm: ss" प्रारूप में होना चाहिए।

4

दिनांक स्वरूप आप को पता चला है चाहिए: 0000-00-00 00:00:00

तो, आप इसे परिवर्तित करने के लिए की है। एसओ पर इस रूपांतरण के बारे में हजारों प्रश्न हैं।
सबसे छोटा रास्ता है

तरह
list($m,$d,$y) = explode("/",$_POST['date']); 
$date = mysql_real_escape_string("$y-$m-$d ".$_POST['time']); 
0

मैं इस तरह एपीआई के माध्यम से mysql DB में दिनांक और समय जोड़ लिया है:


कॉल एपीआई

http://localhost/SendOrder.php?odate=20120323&otime=164545

  1. odate प्रकार दिनांक
  2. है
  3. otime प्रकार डीबी में समय है।

यह Odate 2012-03-23 ​​के रूप में और otime 16:45:45 के रूप में संग्रहीत करेगा।