PHP date()格式MySQL中插入datetime方法

2019-11-13,,,

当使用PHP在MySQL中编写查询时,它的适用性将基于MySQL本身进行检查。所以使用MySQL提供的默认日期和时间格式,即'YYYY-MM-DD'

例子:

ATE: YYYY-MM-DD
Example: 2019-01-28
 
DATETIME: YYYY-MM-DD HH:MI:SS
Example: 2019-01-28 23:50:30
 
TIMESTAMP: YYYY-MM-DD HH:MI:SS
Example: 2019-01-28 23:50:30
 
YEAR: YYYY or YY

用于创建DataBase的MySQL查询:

CREATE DATABASE Date_time_example;

示例1:用于创建数据库和表的PHP程序

<?php 
  
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "test"; 
  
// 创建连接
$conn = mysqli_connect( $servername, $username, $password, $dbname ); 
  
// 检查连接 
if ( !$conn ) { 
  die("Connection failed: " . mysqli_connect_error()); 
} 
  
// 创建表的SQL查询 
$sql = "CREATE TABLE date_test ( 
  id INT AUTO_INCREMENT PRIMARY KEY, 
  created_at DATETIME 
)"; 
  
if (mysqli_query($conn, $sql)) { 
  echo "Table date_test created successfully"; 
} else { 
  echo "Error creating table: " . mysqli_error($conn); 
} 
  
// 关闭连接
mysqli_close($conn);

输出:

Table date_test created successfully

示例2:将日期插入表中的PHP程序。

<?php 
  
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "test"; 
  
// 创建连接 
$conn = mysqli_connect( $servername, $username, $password, $dbname ); 
  
// 检查连接
if ( !$conn ) { 
  die("Connection failed: " . mysqli_connect_error()); 
} 
  
// 用于向表中插入数据的SQL查询 
$sql = "INSERT INTO date_test( created_at ) 
    VALUES( '2019-01-28 12:39:16' );"; 
  
if (mysqli_query($conn, $sql)) { 
  echo "New record created successfully"; 
} else { 
  echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
} 
  
// 关闭连接
mysqli_close($conn);

输出:

New record created successfully

示例3:此示例用于显示在2019-01-28上创建的行。使用以下查询显示结果。created_at列不仅包含日期,还包含时间。所以它会显示错误信息。

SELECT * FROM date_test WHERE DATE( created_at ) = '2019-01-28';
<?php 
  
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "test"; 
  
//创建连接 
$conn = mysqli_connect( $servername, $username, $password, $dbname ); 
  
// 检查连接
if ( !$conn ) { 
  die("Connection failed: " . mysqli_connect_error()); 
} 
  
//SQL查询 
$sql = "SELECT * FROM date_test 
WHERE DATE(created_at) = '2019-01-28'"; 
  
$result = mysqli_query( $conn, $sql ); 
  
if ($result) { 
  echo $result; //打印查询结果 
} 
else { 
  echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
} 
  
// 关闭连接
mysqli_close($conn);

输出:

id created_at
1  2019-01-28 12:39:16

要从DATETIME值获取年,季度,月,周,日,小时,分钟和秒,请使用以下语句中显示的函数:
HOUR(@dt),MINUTE(@dt),SECOND(@dt) ),DAY(@dt),WEEK(@dt),MONTH(@dt),QUARTER(@dt),YEAR(@dt);

《PHP date()格式MySQL中插入datetime方法.doc》

下载本文的Word格式文档,以方便收藏与打印。