PHP 基礎(12)之使用PHP操作MySQL

來源:互聯網
上載者:User

標籤:php入門 web開發

PHP操作Mysql總共分五步

  1. 串連Mysql

  2. 選擇資料庫

  3. 執行SQL語句

  4. 關閉結果集

  5. 斷開與Mysql伺服器的串連


=============================================================

PHP 使用三種API操作MySQL 分別是mysql(新版PHP已棄用) mysqli  PDOextensions

<?php// mysqli$mysqli = new mysqli("example.com", "user", "password", "database");$result = $mysqli->query("SELECT ‘Hello, dear MySQL user!‘ AS _message FROM DUAL");$row = $result->fetch_assoc();echo htmlentities($row[‘_message‘]);// PDO$pdo = new PDO(‘mysql:host=example.com;dbname=database‘, ‘user‘, ‘password‘);$statement = $pdo->query("SELECT ‘Hello, dear MySQL user!‘ AS _message FROM DUAL");$row = $statement->fetch(PDO::FETCH_ASSOC);echo htmlentities($row[‘_message‘]);// mysql$c = mysql_connect("example.com", "user", "password");mysql_select_db("database");$result = mysql_query("SELECT ‘Hello, dear MySQL user!‘ AS _message FROM DUAL");$row = mysql_fetch_assoc($result);echo htmlentities($row[‘_message‘]);?>


最後一種方式不推薦使用,已經在PHP5.5.0中被棄用。推薦使用mysqli,PDO extensions的方式。


選擇哪一種庫?以上三種api都是C庫的輕量級封裝。

有兩種選擇mysqlnd,libmysqlclient推薦使用mysqlnd,該庫從PHP5.3.0開始內建在PHP中,可以提供lazy connections 和query caching等特性。


在使用PHP api操作mysql的時候,有幾個概念有必要搞清楚

  1. buffered and unbuffered queries

PHP的查詢預設使用緩衝模式,即查詢結果有MySQL Server返回到PHP的時候存在PHP進程的記憶體裡的,這樣可以對查詢結果進一步的操作,缺點是有可能佔用記憶體過大。(又被稱為store result)

PHP的非緩衝模式在查詢後返回一個資源,但是查詢結果資料仍然在Mysql伺服器上。這樣PHP佔用記憶體減少,但是Mysql伺服器的壓力則會增大.(又被稱為use result)

因此緩衝模式適用於查詢結果較少的情況下,非緩衝模式適用於大量查詢結果的情況。

使用mysqli非緩衝查詢的一個例子

<?php$mysqli  = new mysqli("localhost", "my_user", "my_password", "world");$uresult = $mysqli->query("SELECT Name FROM City", MYSQLI_USE_RESULT);if ($uresult) {   while ($row = $uresult->fetch_assoc()) {       echo $row[‘Name‘] . PHP_EOL;   }}$uresult->close();?>

使用pdo_mysql的非緩衝查詢的例子

<?php$pdo = new PDO("mysql:host=localhost;dbname=world", ‘my_user‘, ‘my_pass‘);$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);$uresult = $pdo->query("SELECT Name FROM City");if ($uresult) {   while ($row = $uresult->fetch(PDO::FETCH_ASSOC)) {       echo $row[‘Name‘] . PHP_EOL;   }}?>

===================使用PHPStorm如何配置MySQL==============================

View--->Tool Windows--->Database

輸入主機名稱 username,password 

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/87/F5/wKioL1fk9m7yEMBpAACcxKolE58944.jpg-wh_500x0-wm_3-wmp_4-s_259015832.jpg" title="1.jpg" alt="wKioL1fk9m7yEMBpAACcxKolE58944.jpg-wh_50" />


650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/87/F5/wKioL1fk9p3xN7gfAABenlXbgfw723.jpg-wh_500x0-wm_3-wmp_4-s_2761862847.jpg" title="2.jpg" alt="wKioL1fk9p3xN7gfAABenlXbgfw723.jpg-wh_50" />

點擊mysql安裝驅動

本文出自 “厚積薄發” 部落格,請務必保留此出處http://joedlut.blog.51cto.com/6570198/1855911

PHP 基礎(12)之使用PHP操作MySQL

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.