首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

PHP MySQL INSERT 時間字段前有空格:實為書寫規範非必需

     編輯:程式設計綜合問答

現象

SQL 語句中 VALUES ('$name', '$addtime', '$content'),$addtime 前有空格,去掉空格也能正常執行,疑惑空格作用。

結論

空格無語法義務,純屬代碼可讀性規範。 SQL 標準允許關鍵字、標識符、字面值之間任意空白字符(空格、換行、制表)。

推薦寫法

// 逗號後加空格,參數前後加空格,增強可讀性
$sql = "INSERT INTO `message` (`author`, `addtime`, `content`) 
        VALUES ('$name', '$addtime', '$content')";

關鍵提醒:防 SQL 注入

**直接拼接變量極其危險**,必須用**預處理語句**:

$stmt = $pdo->prepare("INSERT INTO `message` (`author`, `addtime`, `content`) VALUES (?, ?, ?)");
$stmt->execute([$name, $addtime, $content]);
  • 自動處理引號轉義、類型轉換。
  • 徹底防止 SQL 注入攻擊。
  • 性能更好(服務端緩存執行計劃)。

時間格式

MySQL DATETIME 接受 'YYYY-MM-DD HH:MM:SS' 字符串,確保 $addtime 為此格式(date('Y-m-d H:i:s'))。

空格只是美觀,**參數化才是正道**。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved