Hướng dẫn date not inserting into mysql database - ngày không chèn vào cơ sở dữ liệu mysql

Đây là một thứ kì lạ.

Tôi có một ngày, được chuyển đổi thành mm-dd-yyyy khi đăng nó lên mysql, tôi đã đặt lại nó thành yyyy-mm-dd nhưng nó vẫn sẽ không chèn

$date = date("Y-m-d", strtotime($_POST['leaving_date']) );

Bất kỳ lời khuyên? Chúc mừng

CHỈNH SỬA

Truy vấn thực tế:

mysql_query("INSERT INTO booking_info (customer_id, booking_ref, date_of_travel) VALUES (".mysql_real_escape_string($_POST['customer_id']).", ".mysql_real_escape_string($rnd).", ".mysql_real_escape_string($date).")");

Hướng dẫn date not inserting into mysql database - ngày không chèn vào cơ sở dữ liệu mysql

Sirko

70.7K19 Huy hiệu vàng143 Huy hiệu bạc175 Huy hiệu Đồng19 gold badges143 silver badges175 bronze badges

Hỏi ngày 5 tháng 9 năm 2012 lúc 15:17Sep 5, 2012 at 15:17

14

Giá trị của bạn không được bọc với các trích dẫn đơn.

mysql_query("INSERT INTO booking_info (customer_id, booking_ref, date_of_travel) 
             VALUES (
               '".mysql_real_escape_string($_POST['customer_id'])."',
               '".mysql_real_escape_string($rnd)."', 
               '".mysql_real_escape_string($date)."')");

Đã trả lời ngày 5 tháng 9 năm 2012 lúc 15:26Sep 5, 2012 at 15:26

Phả hệPedigree

2.2343 huy hiệu vàng23 Huy hiệu bạc28 Huy hiệu đồng3 gold badges23 silver badges28 bronze badges

mysql_query("INSERT INTO booking_info (customer_id, booking_ref, date_of_travel) VALUES (".mysql_real_escape_string($_POST['customer_id']).", ".mysql_real_escape_string($rnd).", '$date')");

Hãy thử điều đó .... nên khắc phục sự cố nhưng không phải là một cách tốt để viết SQL ... không cần gọi hàm mysql_real_escape_string trên biến ngày là biến là biến ngày $ của bạn.

Đã trả lời ngày 5 tháng 9 năm 2012 lúc 15:29Sep 5, 2012 at 15:29

SureshsureshSuresh

1312 Huy hiệu đồng2 bronze badges

Cần phải đề cập rằng sử dụng PDO sẽ không cung cấp cho bạn những vấn đề này; Hãy để tôi minh họa:

// assuming $db is a PDO instance to your database
// prepare the statement
$stmt = $db->prepare('INSERT INTO booking_info (customer_id, booking_ref, date_of_travel) VALUES (:customer, :ref, :date)');
// execute the statement with your variables
$stmt->execute(array(
    ':customer' => $_POST['customer_id'],
    ':ref' => $rnd,
    ':date' => $date,
));

Việc trích dẫn và trốn thoát thích hợp được thực hiện trong nền; gọn gàng hả? :)

Đã trả lời ngày 5 tháng 9 năm 2012 lúc 15:36Sep 5, 2012 at 15:36

Ja͢ckja͢ckJa͢ck

168K36 Huy hiệu vàng256 Huy hiệu bạc 305 Huy hiệu Đồng36 gold badges256 silver badges305 bronze badges

Nhìn vào câu hỏi được chỉnh sửa của bạn, có vẻ như bạn đang thiếu các trích dẫn duy nhất trong ngày hẹn hò của bạn. Ngoài ra, nó có thể chậm hơn, nhưng bạn luôn có thể có MySQL thực hiện định dạng cho bạn. Tùy thuộc vào phần mở rộng bạn đang sử dụng, bạn có thể làm một cái gì đó như thế này:

INSERT ... VALUES (STR_TO_DATE('$phpDate', '%m-%d-%Y')), col2, ...)

Đã trả lời ngày 5 tháng 9 năm 2012 lúc 15:22Sep 5, 2012 at 15:22

Hướng dẫn date not inserting into mysql database - ngày không chèn vào cơ sở dữ liệu mysql

KermitkermitKermit

33.4K13 Huy hiệu vàng83 Huy hiệu bạc120 Huy hiệu đồng13 gold badges83 silver badges120 bronze badges

Bạn cần phải có trích dẫn đơn vào ngày (và có thể là booking_ref nếu đây không phải là một số nguyên hoặc loại trường số khác.

Thử cái này:

mysql_query("INSERT INTO booking_info (customer_id, booking_ref, date_of_travel) VALUES (".mysql_real_escape_string($_POST['customer_id']).", ".mysql_real_escape_string($rnd).", '".mysql_real_escape_string($date)."')");

Đã trả lời ngày 5 tháng 9 năm 2012 lúc 15:23Sep 5, 2012 at 15:23

Hướng dẫn date not inserting into mysql database - ngày không chèn vào cơ sở dữ liệu mysql

Mike Brantmike BrantMike Brant

69.5K10 Huy hiệu vàng97 Huy hiệu bạc102 Huy hiệu Đồng10 gold badges97 silver badges102 bronze badges

Khi bạn thêm một ngày, hãy bọc nó bằng trích dẫn kép, như một chuỗi.

mysql_query("INSERT INTO booking_info (customer_id, booking_ref, date_of_travel) VALUES (".mysql_real_escape_string($_POST['customer_id']).", ".mysql_real_escape_string($rnd).", \"".mysql_real_escape_string($date)."\")");

Đã trả lời ngày 5 tháng 9 năm 2012 lúc 15:21Sep 5, 2012 at 15:21

1

Làm thế nào để bạn chèn một ngày trong mysql?

MySQL đi kèm với các loại dữ liệu sau để lưu trữ một ngày hoặc giá trị ngày/thời gian trong cơ sở dữ liệu:..
Ngày-Định dạng Yyyy-MM-DD ..
DateTime-Định dạng: Yyyy-MM-DD HH: MI: SS ..
Dấu thời gian-Định dạng: Yyyy-MM-DD HH: MI: SS ..
Năm - Định dạng Yyyy hoặc YY ..

Làm thế nào để tôi chèn ngày trong yyyy

Bạn có thể sử dụng str_to_date để chuyển đổi chuỗi ngày sang định dạng ngày nội bộ của MySQL để chèn.use str_to_date to convert a date string to MySQL's internal date format for inserting.

Cú pháp cho ngày trong MySQL là gì?

MySQL nhận ra các giá trị ngày trong các định dạng này: là một chuỗi trong định dạng 'yyyy-mm-dd' hoặc 'yy-mm-dd'.Một cú pháp thoải mái của người Viking được cho phép: bất kỳ ký tự dấu câu nào cũng có thể được sử dụng làm dấu phân cách giữa các phần ngày.Ví dụ: '2012-12-31', '2012/12/31', '2012^12^31', và '2012@12@31' tương đương.YYYY-MM-DD ' or ' YY-MM-DD ' format. A “relaxed” syntax is permitted: Any punctuation character may be used as the delimiter between date parts. For example, '2012-12-31' , '2012/12/31' , '2012^12^31' , and '2012@12@31' are equivalent.