第十六章 PHP 操作MySQL

水之原發表於2014-04-23

學習要點:
1.PHP 連線到MySQL
2.增刪改查
3.其他常用函式

 

  如果你已經具有了使用PHP、SQL 和MySQL 的豐富經驗,現在就可以把所有這些技術
組合在一起。PHP 與MySQL 之間穩固的整合只是眾多程式設計師採納它的一個原因,還有一個
原因就是,它如此的簡單方便。

 

一.PHP連線到MySQL

這裡,我們全面採用UTF-8 編碼。
設定Zend Stduio 的編碼:Window -> Preferences -> Workspace


標頭設定,讓火狐和IE 保持編碼統一:

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

 

連線MySQL

<?php
$conn = @mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or
die('資料庫連線失敗!錯誤資訊:'.mysql_error());
?>

 

資料庫連線引數,可以用常量儲存,這樣就不能修改,更加安全。

<?php
define('DB_USER','root');
define('DB_PASSWORD','yangfan');
define('DB_HOST','localhost');
define('DB_NAME' ,'school');
?>

 

選擇你所需要的資料庫

<?php
@mysql_select_db(DB_NAME) or die('資料庫找不到!錯誤資訊:'.mysql_error());
?>

 

設定字符集,如果是GBK,直接設定SET NAMES GBK 即可

<?php
@mysql_query('SET NAMES UTF8') or die('字符集設定錯誤');
?>

 

獲取記錄集

<?php
$query = "SELECT * FROM grade";
$result = @mysql_query($query) or die('SQL 語句有誤!錯誤資訊:
'.mysql_error());
?>

 

輸出一條記錄

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

 

釋放結果集資源

<?php
mysql_free_result($result);
?>

 

關閉資料庫

<?php
mysql_close($conn);
?>

 

二.增刪改查

新增資料

<?php
$query = "INSERT INTO grade (name,email,point,regdate) VALUE
('李炎恢','yc60.com@gmail.com',,NOW())";
@mysql_query($query) or die('新增資料出錯:'.mysql_error());
?>

修改資料

<?php
$query = "UPDATE grade SET name='小可愛' WHERE id=6";
@mysql_query($query) or die('修改出錯:'.mysql_error());
?>

刪除資料

<?php
$query = "DELETE FROM grade WHERE id=6";
@mysql_query($query) or die('刪除錯誤:'.mysql_error());
?>

顯示資料

<?php
$query = "SELECT id,name,email,point FROM grade";
$result = @mysql_query($query) or die('查詢語句出錯:'.mysql_error());
while (!!$row = mysql_fetch_array($result)) {
    echo $row['id'].'----'.$row['name'].'----'.$row['email'].'----'.$row['point'];
    echo '<br />';
}
?>

 

三.其他常用函式

mysql_fetch_row():從結果集中取得一行作為列舉陣列
mysql_fetch_assoc(): 從結果集中取得一行作為關聯陣列
mysql_fetch_array(): 從結果集中取得一行作為關聯陣列,或數字陣列,或二者兼有
mysql_fetch_lengths (): 取得結果集中每個輸出的長度
mysql_field_name(): 取得結果中指定欄位的欄位名
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 伺服器資訊

  注:文章出自李炎恢PHP視訊教程,本文僅限交流使用,不得用於商業用途,否則後果自負。

相關文章