如何从任何数据库中获取AM / PM time_format

问题描述 投票:0回答:1

我想用AM / PM格式获取数据,但在此之前,我需要选择一个数据库来实现这一点。

$event_name='database_name';

我也使用INNER JOIN。

在这种情况下,有人可以知道如何格式化时间吗?

$event_name='database name';

$conn = mysqli_connect($servername, $username, $password);

if (!$conn) {
   die("Connection failed: " . mysqli_connect_error());}

$sql = "SELECT $event_name.student_login.LOG_IN, $event_name.student_login.TIME_FORMAT(LOG_IN,"%r"), event_attendance.student_data.*  FROM  event_attendance.student_data 
  inner JOIN $event_name.student_login ON $event_name.student_login.SERIAL =    event_attendance.student_data.SERIAL order by $event_name.student_login.LOG_IN DESC";
     //using (SERIAL) 
$result = mysqli_query($conn, $sql);
$i = 1;

if (mysqli_num_rows($result) > 0) {
// output data of each row
 while($row = mysqli_fetch_assoc($result)) {

    echo "<td width='2'><center><B>".$i; $i++;  echo"</B></center></td>"; 
    echo "<td>" . $row["ID"]."</td>";
    echo "<td>" . $row["LASTNAME"].", ". $row["FIRSTNAME"]." ". $row["MIDDLENAME"]."."."</td>";
    echo "<td><center>" . $row["COURSE"]."</center></td>";
    echo "<td><center>" . $row["YEAR"]."</center></td>";
    echo "<td><center>" . $row["LOG_IN"] ."</center></td>";
    echo "<td><center>" . $row["DATE"]."</center></td><tr>";


}
}

我的代码不适用于此。

$event_name.student_login.TIME_FORMAT(LOG_IN,"%r")
mysql
1个回答
0
投票

TIME_FORMAT是一个内置的MYSQL函数,而不是表$ event_name.student_login的函数,所以使用$event_name.student_login.TIME_FORMAT(LOG_IN,"%r")是错误的

其次,您的查询是双引号,因此您不能在查询字符串中直接使用另一个双引号。所以你需要将$event_name.student_login.TIME_FORMAT(LOG_IN,"%r")改为TIME_FORMAT($event_name.student_login.LOG_IN, '%r')

试试这个

$sql = "SELECT $event_name.student_login.LOG_IN, TIME_FORMAT($event_name.student_login.LOG_IN, '%r'), event_attendance.student_data.*  FROM  event_attendance.student_data  inner JOIN $event_name.student_login ON $event_name.student_login.SERIAL =    event_attendance.student_data.SERIAL order by $event_name.student_login.LOG_IN DESC";

或使用别名的清洁版本

$sql = "SELECT sl.LOG_IN, TIME_FORMAT(sl.LOG_IN, '%r'), sd.*  FROM  event_attendance.student_data sd  inner JOIN $event_name.student_login sl ON sl.SERIAL = sd.SERIAL order by sl.LOG_IN DESC";
© www.soinside.com 2019 - 2024. All rights reserved.