一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - Mac OS下PHP環境搭建及PHP操作MySQL常用方法小結

Mac OS下PHP環境搭建及PHP操作MySQL常用方法小結

2020-06-09 18:09trigkit4 Mysql

MAMP從名字上也可以看出來,是Mac OS的Apache+MySQL+PHP的集成環境包,本文就來簡單說一下Mac OS下PHP環境搭建及PHP操作MySQL的常用方法小結.

Mac本地環境搭建
在Mac系統,我們可以使用MAMP Pro (官方網站:https://www.mamp.info/en/)軟件來搭建本地服務器。安裝好這款軟件,網站的目錄在 /Applications/MAMP/htdocs 文件夾里,只需將文件放入該文件夾中,就可以通過http://localhost:8888來訪問了,或者通過點擊如下紅色下劃線按鈕來快速訪問站點。

Mac OS下PHP環境搭建及PHP操作MySQL常用方法小結

mac系統下安裝php,兩行即可。

?
1
2
brew tap josegonzalez/homebrew-php
brew install php54

安裝完后配置一下,你就可以使用phpstorm來愉快地編程啦。安裝的php路徑在/usr/local/bin/php

數據庫基本操作

Mac OS下PHP環境搭建及PHP操作MySQL常用方法小結

1)用戶的 Web 瀏覽器發出 HTTP 請求,請求特定 Web 頁面。
2)Web服務器收到.php 的請求獲取該文件,并將它傳到 PHP 引擎,要求它處理。 3)PHP 引擎開始解析腳本。 腳本中有一條連接數據庫的命令, 還有執行一個查詢的令。命
PHP 打開通向 MYSQL 數據庫的連接,發送適當的查詢。
4)MYSQL 服務器接收數據庫查詢并處理。將結果返回到 PHP 引擎。
5)PHP 以你去哪干完成腳本運行,通常,這包括將查詢結果格式化成 HTML 格式。然
后再輸出 HTML 返回到 Web 服務器。
6)Web服務器將 HTML 發送到瀏覽器。
MySQL 常用數據類型
整數型:TINYINT,SMALLINT,INT,BIGINT
浮點型:FLOA T,DOUB LE,DECIMAL(M,D)
字符型:CHAR,VARCHAR
日期型:DA TETIME,DA TE,TIMESTA MP
備注型:TINYTEXT,TEXT,LONGTEXT
MySQL 數據庫操作
1)顯示當前存在的數據庫

?
1
>SHOWDATABASES;

2)選擇你所需要的數據庫

?
1
>USEguest;

3)查看當前所選擇的數據庫

?
1
>SELECTDATABASE();

4)查看一張表的所有內容

?
1
>SELECT*FROMguest; //可以先通過SHOWTABLES;來查看有多少張表

5)根據數據庫設置中文編碼

?
1
>SET NAMESgbk; //set names utf8;

6)創建一個數據庫

?
1
>CREATEDATABASEbook;

7)在數據庫里創建一張表

?
1
2
3
4
>CREATETABLEusers (
>username VARCHAR(20),//NOT NULL 設置不允許為空
>sex CHAR(1),
>birth DATETIME);

8)顯示表的結構 

?
1
>DESCIRBEusers;

9)給表插入一條數據

?
1
>INSERT INTO users (username,sex,birth) VALUES('jack','male',NOW());

PHP連接MySQL數據庫
連接數據庫

?
1
2
3
4
5
6
7
<?php
  header('COntent-Type:text/html;charset=utf-8');//設置頁面編碼,如果文件是gbk編碼,則charset也應用gbk
  //@表示如果出錯了,不要報錯,直接忽略
  //參數:服務器地址,用戶名和密碼
 
  echo (!!@mysql_connect('localhost','root','*****'));//1
?>

我們用雙感嘆號!!來將資源句柄轉換成布爾值,正確輸出1,錯誤則輸出錯誤信息。而如果前面加了@符號,則忽略錯誤信息,不會輸出錯誤信息。

對于錯誤消息的處理,我們可以使用mysql_error()函數來輸出錯誤消息:

mysql_connect('localhost','root','****') or die('數據庫連接失敗,錯誤信息:'.mysql_error());//對于密碼錯誤的提示:數據庫連接失敗,錯誤信息:Access denied for user 'root'@'localhost' (using password: YES)
die() 函數輸出一條消息,并退出當前腳本。該函數是 exit() 函數的別名。

數據庫連接參數,可以用常量來存儲,這樣就不能被隨意修改,更加安全。

?
1
2
3
4
5
6
7
8
9
10
11
<meta charset="utf-8">
<?php
  //定義常量參數
  define('DB_HOST','localhost');
  define('DB_USER','root');
  define('DB_PWD','345823');//密碼
 
 
  $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數據庫連接失敗,錯誤信息:'.mysql_error());
  echo $connect;//Resource id #2
?>

值得注意的是,mysql_connect()括號內的常量可不能加引號,否則肯定出錯。

選擇指定的數據庫

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
  define('DB_HOST','localhost');
  define('DB_USER','root');
  define('DB_PWD','345823');//密碼
  define('DB_NAME','trigkit');//在phpmyadmin創建一個名為trigkit的數據庫
 
  //連接數據庫
  $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數據庫連接失敗,錯誤信息:'.mysql_error());
 
  //選擇指定數據庫
  mysql_select_db(DB_NAME,$connect) or die('數據庫連接錯誤,錯誤信息:'.mysql_error());//將表名字故意寫錯,提示的錯誤信息:數據庫連接錯誤,錯誤信息:Unknown database 'trigkt'
 
?>

通常不需要使用 mysql_close(),因為已打開的非持久連接會在腳本執行完畢后自動關閉

mysql_select_db(database,connection):選擇MySQL數據庫
獲取記錄集

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<meta charset="utf-8">
<?php
 
  define('DB_HOST','localhost');
  define('DB_USER','root');
  define('DB_PWD','345823');//密碼
  define('DB_NAME','trigkit');
 
  //連接數據庫
  $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數據庫連接失敗,錯誤信息:'.mysql_error());
 
  //選擇指定數據庫
  mysql_select_db(DB_NAME,$connect) or die('數據表連接錯誤,錯誤信息:'.mysql_error());
 
  //從數據庫里把表的數據提出來(獲取記錄集)
  $query = "SELECT * FROM class";//在trigkit數據庫中新建一張'表'
  $result = mysql_query($query) or die('SQL錯誤,錯誤信息:'.mysql_error());//故意將表名寫錯:SQL錯誤,錯誤信息:Table 'trigkit.clas' doesn't exist
?>

mysql_query() 函數執行一條 MySQL 查詢。

輸出數據

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<meta charset="utf-8">
<?php
 
  define('DB_HOST','localhost');
  define('DB_USER','root');
  define('DB_PWD','345823');//密碼
  define('DB_NAME','trigkit');
 
  //連接數據庫
  $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數據庫連接失敗,錯誤信息:'.mysql_error());
 
  //選擇指定數據庫,設置字符集
  mysql_select_db(DB_NAME,$connect) 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());
 
  print_r(mysql_fetch_array($result,MYSQL_ASSOC));
?>

釋放結果集資源(僅需要在考慮到返回很大的結果集時會占用多少內存時調用。)

?
1
2
3
<?php
  mysql_free_result($result);
?>

增刪改查
新增數據

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
  require 'index.php';
  //新增數據
  $query = "INSERT INTO CLASS(
       name,
       email,
       point,
       regdate)
    VALUES (
    '小明',
    '[email protected]',
    100,
    NOW()
    )";
 
  @mysql_query($query) or die('新增錯誤:'.mysql_error());
 
?>

我們將上面的代碼保存為index.php,丟進/Applications/MAMP/htdocs/ 文件夾。將上面的代碼保存為demo.php,放進同樣的目錄內。Mac系統獲取文件的路徑很簡單,只需將文件拉進終端即可顯示路徑名。

修改數據
我們假設要修改的數據的名稱是小明,id為2,將他的point分數修改為80分,代碼如下:

?
1
2
3
4
5
6
7
<?php
  require 'index.php';
 
  //修改數據
  $query = 'UPDATE class SET point=80 WHERE id=2';
  @mysql_query($query);
?>

刪除數據

?
1
2
3
4
5
6
7
8
9
<?php
  require 'index.php';
 
  //刪除數據
  $query = "DELETE FROM class WHERE id=2";
  @mysql_query($query);
 
  mysql_close();
?>

顯示數據

?
1
2
3
4
5
6
7
8
9
10
<?php
  require 'index.php';
 
  //顯示數據
  $query = "SELECT id,name,email,regdate FROM class";
  $result = mysql_query($query) or die('sql語句錯誤:'.mysql_error());
 
  print_r(mysql_fetch_array($result));
  mysql_close();
?>

或者顯示指定值數據:

?
1
2
3
$data = mysql_fetch_array($result);
echo $data['email'];//顯示email
echo $data['name'];//顯示name

其他常用函數
mysql_fetch_lengths(): 取得結果集中每個輸出的長度
mysql_field_name(): 取得結果中指定字段的字段名

mysql _fetch_row():從結果集中取得一行作為枚舉數組
mysql_fetch_assoc(): 從結果集中取得一行作為關聯數組
mysql_fetch_array(): 從結果集中取得一行作為關聯數組,或數字數組,或二者兼有

mysql_num_rows(): 取得結果集中行的數目
mysql_num_fields():取得結果集中字段的數目

mysql_get_client_info(): 取得 MySQL 客戶端信息
mysql_get_host_info(): 取得 MySQL 主機信息
mysql_get_proto_info(): 取得 MySQL 協議信息
mysql_get_server_info(): 取得 MySQL 服務器信息

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚欧有色在线观看免费版高清 | 希岛爱理aⅴ在线中文字幕 午夜综合网 | 美女被灌浣肠失禁视频 | 欧美多gayxxxx | 色偷偷伊人 | 国产精品久久久精品日日 | 国产亚洲综合精品一区二区三区 | 成年性午夜免费视频网站不卡 | 女人zooxx禽交 | 好大好硬好湿好紧h | 色哟哟久久 | 成人啪啪漫画羞羞漫画www网站 | 精品成人一区二区 | 五月丁香啪啪. | 日韩一级免费毛片 | 国产一区二区精品久久91 | 97社区| 欧美日韩一区二区综合 | 亚洲码在线观看 | 久久久久久久尹人综合网亚洲 | 午夜尤物 | 干操网| 母乳在线| 糖心vlog麻豆精东影业传媒 | 高h辣文小说网 烧书阁 | ysl蜜桃色成人麻豆 youwu在线影院 | 亚洲v成人天堂影视 | 秋霞黄色大片 | 日本男男漫画 | 国产精品美女久久久久 | 91精品国产综合久久香蕉 | 暖暖 免费 高清 中文 日本 | 5x社区发源地最新地址 | 免费高清视频免费观看 | 日本漫画工囗全彩内番e绅 日本伦理动漫在线观看 | 亚洲高清一区二区三区四区 | 午夜精品久久久久久久99蜜桃i | 99热人人 | 美日毛片| 国产日本韩国不卡在线视频 | 成 人 免费 小说在线观看 |