Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Memasukkan Tarikh dari PHP ke MySQL dengan Betul?

Bagaimana untuk Memasukkan Tarikh dari PHP ke MySQL dengan Betul?

Susan Sarandon
Susan Sarandonasal
2024-11-27 03:56:12373semak imbas

How to Properly Insert Dates from PHP into MySQL?

Cara Memasukkan Tarikh dalam MySQL Menggunakan PHP

Memasukkan tarikh ke dalam MySQL boleh menjadi tugas yang mengelirukan, terutamanya apabila menggunakan format tarikh yang berbeza. Artikel ini akan menunjukkan cara untuk menyelesaikan isu biasa memasukkan tarikh menggunakan PHP dan MySQL, memfokuskan pada masalah "format tarikh masukkan tarikh mysql PHP".

Masalahnya

Apabila menggunakan pemilih tarikh jQuery, format tarikh biasanya dalam bentuk "MM/DD/YYYY" (cth., "08/25/2012"). Walau bagaimanapun, MySQL memerlukan nilai tarikh berada dalam salah satu daripada format berikut:

  • 'YYYY-MM-DD'
  • 'YY-MM-DD'
  • YYYYMMDD
  • YYMMDD

Percubaan untuk memasukkan tarikh dalam format "MM/DD/YYYY" akan mengakibatkan ralat dan sisipan '0000-00-00 00:00:00'.

Penyelesaian

Terdapat beberapa pilihan untuk menyelesaikan isu ini:

  1. Konfigurasikan Datepicker: Tetapkan pilihan altFormat atau dateFormat kepada 'YYYY-MM-DD' untuk memastikan Datepicker menyediakan tarikh dalam format yang betul.
  2. Gunakan STR_TO_DATE(): Tukar rentetan tarikh ke format MySQL menggunakan STR_TO_DATE() fungsi:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
  1. Tukar kepada PHP DateTime: Cipta objek PHP DateTime dan format tarikh atau dapatkan cap masa:
$dt = DateTime::createFromFormat('m/d/Y', $_POST['date']);
$date = $dt->format('Y-m-d'); // formatted string
$timestamp = $dt->getTimestamp(); // UNIX timestamp for FROM_UNIXTIME() function
  1. Memanipulasi Rentetan Secara Manual: Pecah rentetan tarikh menjadi bahagian dan gabungkannya ke dalam format yang diperlukan:
$parts = explode('/', $_POST['date']);
$date = "$parts[2]-$parts[0]-$parts[1]";

Nota Penting

  • Gunakan pernyataan yang disediakan untuk mengelakkan suntikan SQL.
  • Fungsi mysql_* tidak digunakan lagi. Pertimbangkan untuk menggunakan mysqli atau PDO_MySQL sebaliknya.
  • Pertimbangkan untuk menggunakan jenis DATE dan bukannya DATETIME atau TIMESTAMP untuk storan tarikh.

Dengan melaksanakan salah satu daripada penyelesaian ini, anda boleh berjaya memasukkan tarikh dalam format yang betul ke dalam MySQL.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Tarikh dari PHP ke MySQL dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn