首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

jQuery 常用插件速查與 PHP MySQL 基礎操作筆記

     編輯:PHP 相關知識

jQuery 常用插件速查與 PHP MySQL 基礎操作筆記

整理自學習筆記,涵蓋 8 款高頻 jQuery 插件用法、PHP 連接 MySQL 三大擴展對比、CRUD 核心代碼模式,適合速查復習。

一、jQuery 插件速查表

插件核心方法典型場景關鍵配置
Form (ajaxForm)$(form).ajaxForm(options)表單無刷新提交、文件上傳dataType:'json', beforeSubmit, success, uploadProgress
Lightbox$(selector).lightBox(options)圖片畫廊、燈箱效果overlayBgColor, overlayOpacity, containerResizeSpeed
jqZoom$(selector).jqZoom(options)產品圖放大鏡zoomWidth, zoomHeight, zoomType:'reverse/standard'
Cookie$.cookie(key,val) / $.cookie(key) / $.cookie(key,null)記住登錄、偏好設置expires, path, domain, secure
Autocomplete$(input).autocomplete(source, options)搜索建議、郵箱域名補全minChars, formatItem, formatMatch, formatResult
ContextMenu$(selector).contextMenu(menuId, options)右鍵自定義菜單bindings: { 'itemId': fn }
自定義對象級$.fn.myPlugin = function(){...}擴展 jQuery 原型,如 $(ul).focusColor('#ccc')鏈式調用 return this.each(...)
自定義類級$.myUtil = { add:..., sub:... }工具函數命名空間,$.addNum(1,2)不依賴 DOM,純邏輯封裝

二、PHP 連接 MySQL 三大擴展對比

擴展風格特點推薦場景
mysqli (改進版)面向過程 / 面向對象預處理、多語句、事務、增強調試傳統項目、不想用 ORM
PDO (PHP Data Objects)面向對象、統一 API支援 12+ 數據庫、預處理、異常模式、靈活獲取模式現代項目首選、多庫遷移
mysqlnd (原生驅動)底層驅動內存效率高、統計信息、插件擴展mysqli/PDO 內部自動使用

連接代碼模板

// mysqli 面向對象
$mysqli = new mysqli('localhost', 'user', 'pass', 'db');
$mysqli->set_charset('utf8mb4');
if ($mysqli->connect_errno) die('Connect failed: ' . $mysqli->connect_error);

// PDO (推薦)
$dsn = 'mysql:host=localhost;dbname=db;charset=utf8mb4';
$pdo = new PDO($dsn, 'user', 'pass', [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES => false,
]);

三、CRUD 核心模式 (PDO)

// CREATE (參數化,防注入)
$stmt = $pdo->prepare("INSERT INTO users (name, email, created_at) VALUES (?, ?, NOW())");
$stmt->execute(['張三', 'zhang@example.com']);
$id = $pdo->lastInsertId();

// READ (單條)
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$id]);
$user = $stmt->fetch(); // FETCH_ASSOC

// READ (列表 + 分頁)
$page = max(1, (int)($_GET['page'] ?? 1));
$perPage = 15;
$offset = ($page - 1) * $perPage;
$stmt = $pdo->prepare("SELECT * FROM users ORDER BY id DESC LIMIT ?, ?");
$stmt->bindValue(1, $offset, PDO::PARAM_INT);
$stmt->bindValue(2, $perPage, PDO::PARAM_INT);
$stmt->execute();
$list = $stmt->fetchAll();

// UPDATE
$stmt = $pdo->prepare("UPDATE users SET name = ? WHERE id = ?");
$stmt->execute(['李四', $id]);

// DELETE (軟刪除推薦)
$stmt = $pdo->prepare("UPDATE users SET deleted_at = NOW() WHERE id = ?");
$stmt->execute([$id]);

// 事務
try {
    $pdo->beginTransaction();
    $pdo->prepare("INSERT INTO orders ...")->execute([...]);
    $pdo->prepare("UPDATE products SET stock = stock - 1 WHERE id = ?")->execute([$pid]);
    $pdo->commit();
} catch (Throwable $e) {
    $pdo->rollBack();
    throw $e;
}

四、資源釋放與最佳實踐

  • $stmt = null / unset($stmt) 釋放語句句柄(PDO 自動在腳本結束釋放)。
  • $pdo = null 關閉連接(持久連接 PDO::ATTR_PERSISTENT => true 謹慎用)。
  • 永遠使用預處理:哪怕看似安全的整數 ID,也要 bindValue(..., PDO::PARAM_INT)。
  • 嚴格類型模式:declare(strict_types=1); + PHP 8.1+ mysqli_execute_query() / PDO::prepare() 返回 PDOStatement 直接鏈式調用。
  • 錯誤處理統一:PDO 設置 ERRMODE_EXCEPTION,全局 try-catch 或框架異常處理器捕獲。

五、常見陷阱避坑

  1. mysql_connect 已在 PHP 7.0 移除,絕對不要使用。
  2. SELECT * 暴露敏感字段、增加網絡傳輸,顯式列出欄位。
  3. LIMIT ?, ? 在 PDO 中需 bindValue 指定 PARAM_INT,否則報錯。
  4. 大數據量 fetchAll() 爆內存,改用 while ($row = $stmt->fetch()) 游標式處理。
  5. 字符集統一 utf8mb4(支援 Emoji),資料庫/表/連接/HTML 全鏈路一致。

這些筆記涵蓋了從前端交互到後端數據層的高頻操作,建議收藏備查。

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