Mac環境下php操作mysql資料庫的方法分享,macmysql_PHP教程

來源:互聯網
上載者:User

Mac環境下php操作mysql資料庫的方法分享,macmysql


Mac本地環境搭建

在Mac系統,我們可以使用MAMP Pro 軟體來搭建本機伺服器。安裝好這款軟體,網站的目錄在 /Applications/MAMP/htdocs 檔案夾裡,只需將檔案放入該檔案夾中,就可以通過http://localhost:8888來訪問了,或者通過點擊如下紅色底線按鈕來快速存取網站。

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

brew tap josegonzalez/homebrew-phpbrew install php54

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

資料庫基本操作

1)使用者的 網頁瀏覽器發出 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)顯示當前存在的資料庫
>SHOWDATABASES;
2)選擇你所需要的資料庫
>USEguest;
3)查看當前所選擇的資料庫
>SELECTDATABASE();
4)查看一張表的所有內容
>SELECT*FROMguest; //可以先通過SHOWTABLES;來查看有多少張表
5)根據資料庫設定中文編碼
>SET NAMESgbk; //set names utf8;
6)建立一個資料庫
>CREATEDATABASEbook;
7)在資料庫裡建立一張表
>CREATETABLEusers (
>username VARCHAR(20),//NOT NULL 設定不允許為空白
>sex CHAR(1),
>birth DATETIME);
8)顯示表的結構
>DESCIRBEusers;

9)給表插入一條資料

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

PHP串連MySQL資料庫

串連資料庫

<?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() 函數的別名。

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

<?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()括弧內的常量可不能加引號,否則肯定出錯。

選擇指定的資料庫

<?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資料庫

擷取記錄集

<?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 查詢。

輸出資料

<?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));?> 

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

<?php  mysql_free_result($result); ?>

增刪改查

新增資料

<?php  require 'index.php';  //新增資料  $query = "INSERT INTO CLASS(       name,       email,       point,       regdate)    VALUES (    '小明',    'xiaoming@163.com',    100,    NOW()    )";  @mysql_query($query) or die('新增錯誤:'.mysql_error());?>

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

修改資料

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

<?php  require 'index.php';  //修改資料  $query = 'UPDATE class SET point=80 WHERE id=2';  @mysql_query($query);?>

刪除資料

<?php  require 'index.php';  //刪除資料  $query = "DELETE FROM class WHERE id=2";  @mysql_query($query);  mysql_close();?>

顯示資料

<?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();?>

或者顯示指定值資料:

$data = mysql_fetch_array($result);echo $data['email'];//顯示emailecho $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 伺服器資訊

以上所述就是本文的全部內容了,希望大家能夠喜歡。

http://www.bkjia.com/PHPjc/997908.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/997908.htmlTechArticleMac環境下php操作mysql資料庫的方法分享,macmysql Mac本地環境搭建 在Mac系統,我們可以使用MAMP Pro 軟體來搭建本機伺服器。安裝好這款軟體,...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.