亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mac OS下PHP環(huán)境搭建及PHP操作MySQL常用方法小結(jié)

 更新時(shí)間:2016年05月16日 17:44:44   作者:trigkit4  
MAMP從名字上也可以看出來(lái),是Mac OS的Apache+MySQL+PHP的集成環(huán)境包,本文就來(lái)簡(jiǎn)單說(shuō)一下Mac OS下PHP環(huán)境搭建及PHP操作MySQL的常用方法小結(jié).

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

2016516173410318.jpg (800×492)

mac系統(tǒng)下安裝php,兩行即可。

brew tap josegonzalez/homebrew-php
brew install php54

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

數(shù)據(jù)庫(kù)基本操作

2016516173447802.jpg (763×105)

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

  >SHOWDATABASES; 

2)選擇你所需要的數(shù)據(jù)庫(kù)

  >USEguest; 

3)查看當(dāng)前所選擇的數(shù)據(jù)庫(kù)

  >SELECTDATABASE(); 

4)查看一張表的所有內(nèi)容

  >SELECT*FROMguest; //可以先通過(guò)SHOWTABLES;來(lái)查看有多少?gòu)埍?

5)根據(jù)數(shù)據(jù)庫(kù)設(shè)置中文編碼

  >SET NAMESgbk; //set names utf8; 

6)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)

  >CREATEDATABASEbook; 

7)在數(shù)據(jù)庫(kù)里創(chuàng)建一張表

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

8)顯示表的結(jié)構(gòu) 

  >DESCIRBEusers;

9)給表插入一條數(shù)據(jù)

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

PHP連接MySQL數(shù)據(jù)庫(kù)
連接數(shù)據(jù)庫(kù)

<?php
  header('COntent-Type:text/html;charset=utf-8');//設(shè)置頁(yè)面編碼,如果文件是gbk編碼,則charset也應(yīng)用gbk
  //@表示如果出錯(cuò)了,不要報(bào)錯(cuò),直接忽略
  //參數(shù):服務(wù)器地址,用戶名和密碼

  echo (!!@mysql_connect('localhost','root','*****'));//1
?> 

我們用雙感嘆號(hào)!!來(lái)將資源句柄轉(zhuǎn)換成布爾值,正確輸出1,錯(cuò)誤則輸出錯(cuò)誤信息。而如果前面加了@符號(hào),則忽略錯(cuò)誤信息,不會(huì)輸出錯(cuò)誤信息。

對(duì)于錯(cuò)誤消息的處理,我們可以使用mysql_error()函數(shù)來(lái)輸出錯(cuò)誤消息:

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

數(shù)據(jù)庫(kù)連接參數(shù),可以用常量來(lái)存儲(chǔ),這樣就不能被隨意修改,更加安全。

<meta charset="utf-8">
<?php
  //定義常量參數(shù)
  define('DB_HOST','localhost');
  define('DB_USER','root');
  define('DB_PWD','345823');//密碼


  $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數(shù)據(jù)庫(kù)連接失敗,錯(cuò)誤信息:'.mysql_error());
  echo $connect;//Resource id #2 
?> 

值得注意的是,mysql_connect()括號(hào)內(nèi)的常量可不能加引號(hào),否則肯定出錯(cuò)。

選擇指定的數(shù)據(jù)庫(kù)

<?php

  define('DB_HOST','localhost');
  define('DB_USER','root');
  define('DB_PWD','345823');//密碼
  define('DB_NAME','trigkit');//在phpmyadmin創(chuàng)建一個(gè)名為trigkit的數(shù)據(jù)庫(kù)

  //連接數(shù)據(jù)庫(kù)
  $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數(shù)據(jù)庫(kù)連接失敗,錯(cuò)誤信息:'.mysql_error());

  //選擇指定數(shù)據(jù)庫(kù)
  mysql_select_db(DB_NAME,$connect) or die('數(shù)據(jù)庫(kù)連接錯(cuò)誤,錯(cuò)誤信息:'.mysql_error());//將表名字故意寫(xiě)錯(cuò),提示的錯(cuò)誤信息:數(shù)據(jù)庫(kù)連接錯(cuò)誤,錯(cuò)誤信息:Unknown database 'trigkt'

?> 

通常不需要使用 mysql_close(),因?yàn)橐汛蜷_(kāi)的非持久連接會(huì)在腳本執(zhí)行完畢后自動(dòng)關(guān)閉

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

<meta charset="utf-8">
<?php

  define('DB_HOST','localhost');
  define('DB_USER','root');
  define('DB_PWD','345823');//密碼
  define('DB_NAME','trigkit');

  //連接數(shù)據(jù)庫(kù)
  $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數(shù)據(jù)庫(kù)連接失敗,錯(cuò)誤信息:'.mysql_error());

  //選擇指定數(shù)據(jù)庫(kù)
  mysql_select_db(DB_NAME,$connect) or die('數(shù)據(jù)表連接錯(cuò)誤,錯(cuò)誤信息:'.mysql_error());

  //從數(shù)據(jù)庫(kù)里把表的數(shù)據(jù)提出來(lái)(獲取記錄集)
  $query = "SELECT * FROM class";//在trigkit數(shù)據(jù)庫(kù)中新建一張'表'
  $result = mysql_query($query) or die('SQL錯(cuò)誤,錯(cuò)誤信息:'.mysql_error());//故意將表名寫(xiě)錯(cuò):SQL錯(cuò)誤,錯(cuò)誤信息:Table 'trigkit.clas' doesn't exist
?> 

mysql_query() 函數(shù)執(zhí)行一條 MySQL 查詢。

輸出數(shù)據(jù)

<meta charset="utf-8">
<?php

  define('DB_HOST','localhost');
  define('DB_USER','root');
  define('DB_PWD','345823');//密碼
  define('DB_NAME','trigkit');

  //連接數(shù)據(jù)庫(kù)
  $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數(shù)據(jù)庫(kù)連接失敗,錯(cuò)誤信息:'.mysql_error());

  //選擇指定數(shù)據(jù)庫(kù),設(shè)置字符集
  mysql_select_db(DB_NAME,$connect) or die('數(shù)據(jù)表連接錯(cuò)誤,錯(cuò)誤信息:'.mysql_error());
  mysql_query('SET NAMES UTF8') or die('字符集設(shè)置出錯(cuò)'.mysql_error());

  //從數(shù)據(jù)庫(kù)里把表的數(shù)據(jù)提出來(lái)(獲取記錄集)
  $query = "SELECT * FROM class";
  $result = mysql_query($query) or die('SQL錯(cuò)誤,錯(cuò)誤信息:'.mysql_error());

  print_r(mysql_fetch_array($result,MYSQL_ASSOC));
?> 

釋放結(jié)果集資源(僅需要在考慮到返回很大的結(jié)果集時(shí)會(huì)占用多少內(nèi)存時(shí)調(diào)用。)

<?php
  mysql_free_result($result); 
?>

增刪改查
新增數(shù)據(jù)

<?php
  require 'index.php';
  //新增數(shù)據(jù)
  $query = "INSERT INTO CLASS(
       name,
       email,
       point,
       regdate)
    VALUES (
    '小明',
    'xiaoming@163.com',
    100,
    NOW()
    )";

  @mysql_query($query) or die('新增錯(cuò)誤:'.mysql_error());

?>

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

修改數(shù)據(jù)
我們假設(shè)要修改的數(shù)據(jù)的名稱是小明,id為2,將他的point分?jǐn)?shù)修改為80分,代碼如下:

<?php
  require 'index.php';

  //修改數(shù)據(jù)
  $query = 'UPDATE class SET point=80 WHERE id=2';
  @mysql_query($query);
?>

刪除數(shù)據(jù)

<?php
  require 'index.php';

  //刪除數(shù)據(jù)
  $query = "DELETE FROM class WHERE id=2";
  @mysql_query($query);

  mysql_close();
?>

顯示數(shù)據(jù)

<?php
  require 'index.php';

  //顯示數(shù)據(jù)
  $query = "SELECT id,name,email,regdate FROM class";
  $result = mysql_query($query) or die('sql語(yǔ)句錯(cuò)誤:'.mysql_error());

  print_r(mysql_fetch_array($result));
  mysql_close();
?>

或者顯示指定值數(shù)據(jù):

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

其他常用函數(shù)
mysql_fetch_lengths(): 取得結(jié)果集中每個(gè)輸出的長(zhǎng)度
mysql_field_name(): 取得結(jié)果中指定字段的字段名

mysql _fetch_row():從結(jié)果集中取得一行作為枚舉數(shù)組
mysql_fetch_assoc(): 從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組
mysql_fetch_array(): 從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,或二者兼有

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

mysql_get_client_info(): 取得 MySQL 客戶端信息
mysql_get_host_info(): 取得 MySQL 主機(jī)信息
mysql_get_proto_info(): 取得 MySQL 協(xié)議信息
mysql_get_server_info(): 取得 MySQL 服務(wù)器信息

相關(guān)文章

  • MySQL的自增ID(主鍵) 用完了的解決方法

    MySQL的自增ID(主鍵) 用完了的解決方法

    這篇文章主要介紹了MySQL的自增ID(主鍵) 用完了的解決方法,幫助大家更好的理解和學(xué)習(xí)MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-09-09
  • MySQL?Test?Run?測(cè)試框架詳細(xì)介紹?

    MySQL?Test?Run?測(cè)試框架詳細(xì)介紹?

    這篇文章主要介紹了MySQL?Test?Run?測(cè)試框架,主要通過(guò)include、suite展開(kāi)MySQL?Test?Run?測(cè)試框架相關(guān)內(nèi)容,文章介紹詳細(xì),需要的小伙伴可以參考一下
    2022-02-02
  • Table ‘xxx’ is marked as crashed and should be repaired 錯(cuò)誤解決方法參考

    Table ‘xxx’ is marked as crashed and should be repaired 錯(cuò)誤解決

    這些東西都是從其他地方找來(lái)的一些解決MYSQL數(shù)據(jù)庫(kù)這個(gè)錯(cuò)誤的方法,并不一定適用于神跡數(shù)據(jù)庫(kù),僅僅供參考一下,具體的解決方法還是需要摸索。
    2009-04-04
  • mysql中datetime字段建立索引并比較大小詳解

    mysql中datetime字段建立索引并比較大小詳解

    MySQL數(shù)據(jù)庫(kù)常用的時(shí)間類型有timestamp和datetime,兩者主要區(qū)別是占用存儲(chǔ)空間長(zhǎng)度不一致、可存儲(chǔ)的時(shí)間也有限制,下面這篇文章主要給大家介紹了關(guān)于mysql中datetime字段建立索引并比較大小的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • MySQL 8.0 Online DDL快速加列的相關(guān)總結(jié)

    MySQL 8.0 Online DDL快速加列的相關(guān)總結(jié)

    在實(shí)際的MySQL運(yùn)維過(guò)程中,我們經(jīng)常會(huì)遇到業(yè)務(wù)需要給某張表添加字段的情況,本文將介紹幾種加字段的方法,感興趣的朋友可以參考下
    2021-06-06
  • MySQL連接及基本信息查看命令匯總

    MySQL連接及基本信息查看命令匯總

    這篇文章主要針對(duì)MySQL連接及基本信息查看命令進(jìn)行了詳細(xì)匯總,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Centos中安裝多個(gè)mysql數(shù)據(jù)的配置實(shí)例

    Centos中安裝多個(gè)mysql數(shù)據(jù)的配置實(shí)例

    最近因?yàn)閱挝豁?xiàng)目擴(kuò)充,需要在原線上數(shù)據(jù)庫(kù)服務(wù)器上加裝一個(gè)mysql實(shí)例(實(shí)際上就是從新編譯安裝一個(gè)非3306的自定義端口,不同目錄的mysql),研究了一天,終于順利搞定,這里把配置步驟發(fā)給大家,供大家學(xué)習(xí)使用
    2014-04-04
  • mysql 5.7.18 綠色版下載安裝教程

    mysql 5.7.18 綠色版下載安裝教程

    這篇文章主要為大家詳細(xì)介紹了mysql 5.7.18 綠色版下載安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • MySQL修改字符集的實(shí)戰(zhàn)教程

    MySQL修改字符集的實(shí)戰(zhàn)教程

    這篇文章主要介紹了MySQL修改字符集的方法,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2021-01-01
  • MySQL報(bào)錯(cuò)cannot?add?foreign?key?constraint的問(wèn)題解決方法

    MySQL報(bào)錯(cuò)cannot?add?foreign?key?constraint的問(wèn)題解決方法

    這篇文章主要介紹了MySQL報(bào)錯(cuò)cannot?add?foreign?key?constraint的問(wèn)題解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06

最新評(píng)論