MySQL Insert

      在〈MySQL Insert〉中尚無留言

datetime格式

MySQL資料庫裏, 有datetime格式, 記錄格式如 2000-01-01 01:00:00. 在資料庫的儲存上, 可以使用time()取得timestamp, 再用date(“Y-m-d H:i:s”, time())轉成date格式. 然後再於資料庫bind_param(‘s’, date)存入資料庫中.

TimeStamp格式

上述datetime格式, 其實效能較差, 再加上跟其他平台無法相容, 所以建議使用 int資料格式儲存, 再於程式碼中進行轉換. 存入資料庫直接用 bind_param(‘i’, timestamp)即可.

相關程式碼

<?php
 $br="<br>";
 $host="xxx.ddns.net";
 $account="account";
 $password="password";
 $database="database";
 
 $serialno='test';
 $carid="ALV-3038";
 $lng=120.25;
 $lat=25.20;
 $currentTime=date("Y-m-d H:i:s",time());
 echo "time : ".$currentTime;
 $bcookie=0;
 $flag=0;

 $conn1=new mysqli($host, $account, $password, $database);

 if(mysqli_connect_error())
 echo "connect error";
 else
 echo "connect success";

 $sql="insert into car_track (serialno, carid, lng, lat, time, bcookie, flag) values (?, ?, ?, ?, ?, ?, ?)";
 $stmt=$conn1->prepare($sql);
 $stmt->bind_param('ssddsii', $serialno, $carid, $lng, $lat, $currentTime, $bcookie, $flag);

 
 $stmt->execute();
 $stmt->close();
?>

發佈留言