<?php
$con=mysqli_connect("localhost","root","","admin");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
$time=strftime('%c');
 $sql="INSERT INTO bookreserve(libid,bookid,issuedate ,time)
VALUES
('$_POST[libid]','$_POST[bookid]','$_POST[issuedate]','$time')";
if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
  echo "wait for conformation";

mysqli_close($con);
?>


当我看到我的bookreserve表时,时间列中的值是00:00:00

最佳答案

您为strftime()选择了错误的修饰符,因为时间字段必须采用HH:mm:ss格式。在这种情况下,您需要:

$time=strftime('%H:%i:%s'); // date('H:i:s') would probably also suffice


或者您为数据库列选择了错误的数据类型。如果您确实想要%c格式的日期,则应将其更改为varchar。 (我认为varchar(23)应该可以)。

您也可以只更改查询以使用MySQL自己的功能:

$sql="INSERT INTO bookreserve(libid,bookid,issuedate ,time)
VALUES
('$_POST[libid]','$_POST[bookid]','$_POST[issuedate]',NOW())";

09-25 21:40