首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Mac OS 環境下 PHP 開發環境搭建與 MySQL 操作實戰指南

     編輯:MySQL 資料庫相關知識

Mac 本地開發環境快速搭建

在 macOS 系統上搭建 PHP 開發環境,推薦使用 MAMP Pro(官網:mamp.info)。安裝完成後,網站根目錄位於 /Applications/MAMP/htdocs,將項目文件放入該目錄,即可通過 https://localhost:8888 訪問。軟體介面提供快速訪問按鈕,一鍵開啟站點。

MAMP Pro 介面

使用 Homebrew 安裝 PHP

偏好命令列的開發者,兩行指令即可完成 PHP 安裝:

brew tap josegonzalez/homebrew-php
brew install php54

安裝後的 PHP 執行檔位於 /usr/local/bin/php,配置好 PHPStorm 即可開始高效開發。

MySQL 基礎操作與 PHP 連接實戰

資料庫請求處理流程

MySQL 請求流程

  1. 瀏覽器發送 HTTP 請求
  2. Web 伺服器接收 .php 請求,傳遞給 PHP 引擎處理
  3. PHP 引擎解析腳本,執行資料庫連接與查詢指令
  4. MySQL 服務處理查詢並返回結果
  5. PHP 將結果格式化為 HTML
  6. Web 伺服器響應瀏覽器

MySQL 常用資料類型

類別類型
整數型TINYINT, SMALLINT, INT, BIGINT
浮點型FLOAT, DOUBLE, DECIMAL(M,D)
字符型CHAR, VARCHAR
日期型DATETIME, DATE, TIMESTAMP
文本型TINYTEXT, TEXT, LONGTEXT

MySQL 基礎 SQL 操作

-- 顯示所有資料庫
SHOW DATABASES;

-- 選擇資料庫
USE guest;

-- 查看當前資料庫
SELECT DATABASE();

-- 查看資料表結構
DESCRIBE users;

-- 建立資料庫
CREATE DATABASE book;

-- 建立資料表
CREATE TABLE users (
    username VARCHAR(20) NOT NULL,
    sex CHAR(1),
    birth DATETIME
);

-- 插入資料
INSERT INTO users (username, sex, birth) VALUES ('jack', 'male', NOW());

-- 設定編碼
SET NAMES utf8;

PHP 連接 MySQL 完整範例

<?php
header('Content-Type: text/html; charset=utf-8');

// 定義常量(提升安全性)
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PWD', 'your_password');
define('DB_NAME', 'trigkit');

// 連接資料庫
$conn = mysql_connect(DB_HOST, DB_USER, DB_PWD) 
    or die('連接失敗:' . mysql_error());

// 選擇資料庫
mysql_select_db(DB_NAME, $conn) 
    or die('選擇資料庫失敗:' . mysql_error());

// 設定字符集
mysql_query('SET NAMES UTF8') 
    or die('字符集設定失敗:' . mysql_error());

// 查詢資料
$query = "SELECT * FROM class";
$result = mysql_query($query) 
    or die('SQL 錯誤:' . mysql_error());

// 獲取關聯陣列
$data = mysql_fetch_array($result, MYSQL_ASSOC);
print_r($data);

// 釋放資源
mysql_free_result($result);
?>

CRUD 核心操作範例

新增資料

$query = "INSERT INTO class (name, email, point, regdate) 
          VALUES ('小明', 'xiaoming@163.com', 100, NOW())";
mysql_query($query) or die('新增失敗:' . mysql_error());

修改資料

$query = "UPDATE class SET point = 80 WHERE id = 2";
mysql_query($query);

刪除資料

$query = "DELETE FROM class WHERE id = 2";
mysql_query($query);
mysql_close();

查詢資料

$query = "SELECT id, name, email, regdate FROM class";
$result = mysql_query($query) or die('查詢錯誤:' . mysql_error());

while ($row = mysql_fetch_assoc($result)) {
    echo "姓名:{$row['name']}, Email:{$row['email']}<br>";
}
mysql_close();

常用 MySQL 函數速查

  • mysql_fetch_assoc() - 取得關聯陣列
  • mysql_fetch_array() - 取得混合陣列
  • mysql_num_rows() - 取得行數
  • mysql_num_fields() - 取得欄位數
  • mysql_insert_id() - 取得最後自增 ID
  • mysql_affected_rows() - 取得影響行數
注意: mysql_* 系列函數已於 PHP 7.0 移除,新專案請使用 PDO 或 mysqli 擴展。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved