Trong cơ sở dữ liệu MySQL của tôi, tôi có một bảng có cấu trúc
username - varchar
insert_time - timestamp
Bảng này được tạo trong MySQL bằng công cụ PHPMyAdmin và cho cột
$update_query = 'UPDATE db.tablename SET insert_time=now[] '.
'WHERE username='.$somename;
4, tôi đã đề cập đến giá trị mặc định là $update_query = 'UPDATE db.tablename SET insert_time=now[] '.
'WHERE username='.$somename;
5.Bây giờ vấn đề là, tôi phải cập nhật giá trị mặc định này với dấu thời gian hiện tại sau này, sử dụng tập lệnh PHP.
Tôi đã thử thực hiện mã PHP sau:
$update_query = 'UPDATE db.tablename SET insert_time=now[] '.
'WHERE username='.$somename;
Khi tập lệnh PHP được chạy, nó không thành công và không thể chèn bất cứ thứ gì vào cơ sở dữ liệu.
Tôi đang làm gì sai?
Martin Thoma
Huy hiệu vàng 115K150575 Huy hiệu bạc885 Huy hiệu đồng150 gold badges575 silver badges885 bronze badges
Khi được hỏi ngày 20 tháng 5 năm 2011 lúc 18:04May 20, 2011 at 18:04
1
Lỗi tin nhắn nào bạn đang gặp phải?
Tôi đoán lỗi thực tế của bạn là vì biến PHP của bạn không được bao bọc trong các trích dẫn. Thử cái này
$update_query = "UPDATE db.tablename SET insert_time=now[] WHERE username='" .$somename . "'";
Đã trả lời ngày 20 tháng 5 năm 2011 lúc 18:09May 20, 2011 at 18:09
Ash Burlaczenkoash BurlaczenkoAsh Burlaczenko
23.8K15 Huy hiệu vàng67 Huy hiệu bạc97 Huy hiệu Đồng15 gold badges67 silver badges97 bronze badges
6
Định dạng này được sử dụng để có dấu thời gian hiện tại và được lưu trữ trong MySQL
$date = date["Y-m-d H:i:s"];
$update_query = "UPDATE db.tablename SET insert_time=".$date." WHERE username='" .$somename . "'";
Đã trả lời ngày 12 tháng 10 năm 2016 lúc 7:05Oct 12, 2016 at 7:05
Kalaivani mkalaivani mKalaivani M
1.22014 Huy hiệu bạc28 Huy hiệu đồng14 silver badges28 bronze badges
Việc bạn sử dụng bây giờ [] là chính xác. Tuy nhiên, bạn cần sử dụng một loại trích dẫn xung quanh toàn bộ truy vấn và một loại khác xung quanh các giá trị.
Bạn có thể sửa đổi truy vấn của mình để sử dụng dấu ngoặc kép ở đầu và cuối và các trích dẫn đơn vào khoảng
$update_query = 'UPDATE db.tablename SET insert_time=now[] '.
'WHERE username='.$somename;
6:$update_query = "UPDATE db.tablename SET insert_time=now[] WHERE username='$somename'";
Đã trả lời ngày 20 tháng 5 năm 2011 lúc 18:08May 20, 2011 at 18:08
GEORGE CUMMINSEGRE CUMMINSGeorge Cummins
28.1k8 Huy hiệu vàng69 Huy hiệu bạc90 Huy hiệu Đồng8 gold badges69 silver badges90 bronze badges
3
Quên đặt biến trong câu lệnh SQL mà không có trích dẫn.
$update_query =
"UPDATE db.tablename SET insert_time=NOW[] WHERE username='" .$somename."'";
Đã trả lời ngày 20 tháng 5 năm 2011 lúc 18:07May 20, 2011 at 18:07
Không thích bất kỳ giải pháp nào trong số đó.
Đây là cách tôi làm điều đó:
$update_query = "UPDATE db.tablename SET insert_time=now[] WHERE username='"
. sqlEsc[$somename] . "' ;";
Sau đó, tôi sử dụng chức năng SQLESC của riêng mình:
function sqlEsc[$val]
{
global $mysqli;
return mysqli_real_escape_string[$mysqli, $val];
}
Đã trả lời ngày 3 tháng 12 năm 2013 lúc 5:05Dec 3, 2013 at 5:05
Reduxreduxredux
1.15710 huy hiệu bạc21 Huy hiệu đồng10 silver badges21 bronze badges
Câu hỏi thường gặp về ngày/giờ PHP: Làm cách nào để tạo một ngày ở định dạng thích hợp để chèn trường dấu thời gian SQL vào cơ sở dữ liệu SQL?
Lưu ý: Bạn có thể không cần phải tạo một ngày PHP
Trước hết, bạn có thể không cần phải tạo một ngày trong PHP như thế này. Nếu bạn sử dụng PHP cũ đơn giản và cơ sở dữ liệu như MySQL, bạn có thể sử dụng chức năng SQL
$update_query = 'UPDATE db.tablename SET insert_time=now[] '.
'WHERE username='.$somename;
7 để chèn dữ liệu vào trường Dấu thời gian SQL như thế này:INSERT INTO projects [user_id, name, last_updated, date_created] VALUES [5, 'alvin', now[], now[]];
Tôi chỉ kiểm tra điều này với PHP và MySQL, và nó hoạt động tốt. Vì vậy, một cách để đưa ra một trường sql & nbsp; dấu thời gian trong một sql & nbsp; chèn & nbsp; truy vấn.
Tạo biến dấu thời gian PHP
Tuy nhiên, nếu bạn muốn làm tất cả điều này trong PHP [hoặc cần, tùy thuộc vào khung bạn đang làm việc], bạn có thể nhận được ngày và thời gian hiện tại ở định dạng thích hợp chỉ bằng PHP, như thế này:
$timestamp = date['Y-m-d H:i:s'];
Nếu bạn in nó ra, trường
$update_query = 'UPDATE db.tablename SET insert_time=now[] '.
'WHERE username='.$somename;
8 của bạn sẽ chứa nội dung như thế này:$update_query = 'UPDATE db.tablename SET insert_time=now[] '.
'WHERE username='.$somename;
0Sau đó, bạn có thể sử dụng chuỗi dấu thời gian được định dạng này trong phần chèn php mysql.
Lưu ý: Cảm ơn các nhà bình luận dưới đây, những người đề nghị sử dụng
9 thay vì$update_query = 'UPDATE db.tablename SET insert_time=now[] '. 'WHERE username='.$somename;
0.$update_query = "UPDATE db.tablename SET insert_time=now[] WHERE username='" .$somename . "'";
Một chèn drupal 7 sql với ví dụ về dấu thời gian
Mặc dù đây không phải là câu lệnh PHP/MySQL ____21 tiêu chuẩn ngoài tiêu chuẩn, nhưng đây là truy vấn SQL
$update_query = "UPDATE db.tablename SET insert_time=now[] WHERE username='" .$somename . "'";
1 trông như thế nào khi tôi sử dụng điều này với Drupal 7:$update_query = 'UPDATE db.tablename SET insert_time=now[] '.
'WHERE username='.$somename;
1Như bạn có thể thấy trong các dòng tôi đã tạo nên in đậm, tôi đã chèn biến dấu thời gian PHP của mình thành hai trường SQL.
Nhận dấu thời gian cho một số ngày và giờ khác
Lưu ý rằng hàm Php
$update_query = "UPDATE db.tablename SET insert_time=now[] WHERE username='" .$somename . "'";
3 mặc định cho ngày và giờ hiện tại, đó chính xác là những gì tôi cần cho mục đích của mình ở đây. Nếu bạn cần tạo một trường Dấu thời gian được định dạng cho một số ngày và giờ khác, bạn có thể làm điều đó như thế này:$update_query = 'UPDATE db.tablename SET insert_time=now[] '.
'WHERE username='.$somename;
2Dưới đây là một số ví dụ Php
$update_query = "UPDATE db.tablename SET insert_time=now[] WHERE username='" .$somename . "'";
4 khác:$update_query = 'UPDATE db.tablename SET insert_time=now[] '.
'WHERE username='.$somename;
3Tôi đã lấy những ví dụ từ trang ngày PHP. Vui lòng xem trang đó để biết thêm thông tin về việc tạo ngày và thời gian khác [tôi hầu như chỉ lo lắng về "bây giờ" tại thời điểm này].
Php sql dấu thời gian chèn
Tôi hy vọng những ví dụ về dấu thời gian này đã hữu ích. Như bạn đã thấy, nhìn chung bạn có thể chỉ sử dụng hàm SQL 'now []' để chèn vào trường dấu thời gian SQL, nhưng nếu điều đó không hoạt động vì một số lý do, bạn cũng có thể tạo một trường dấu thời gian ở định dạng thích hợp Chỉ cần PHP và hàm ngày.