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

时间:2018-04-02 00:44:29

标签: mysql

我想用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")

1 个答案:

答案 0 :(得分: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";