欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP鏈接MySQL的常用擴展函數(shù)

 更新時間:2014年10月23日 10:03:42   投稿:hebedich  
這篇文章主要介紹了PHP鏈接MySQL的常用擴展函數(shù),需要的朋友可以參考下

一、PHP連接數(shù)據(jù)庫及基本操作

MySQL采用的是'客戶機/服務(wù)器'架構(gòu)。使用PHP安裝的MySQL擴展函數(shù),和直接使用客戶端軟件區(qū)訪問MySQL數(shù)據(jù)庫服務(wù)器,原理一樣,都需要向MySQL管理系統(tǒng)發(fā)送SQL命令,然后將結(jié)果返回給用戶。

在PHP中,SQL分為兩類(查看SQL語句分類):一是有返回結(jié)果集的DQL語句,如select/desc 表名,執(zhí)行完畢之后,需要PHP處理結(jié)果集;二是沒有結(jié)果集的,如DML、DDL等,但是DML語句執(zhí)行成功后對數(shù)據(jù)表的記錄有影響。

<?php
//連接數(shù)據(jù)庫,常用參數(shù)是主機名、用戶名和密碼
$link = mysql_connect('localhost','root','123456');
//判斷是否連接成功
if(!$link)
{
die('連接失敗'.mysql.error()); //連接成功返回資源標識符,失敗返回false,mysql_error顯示錯誤信息
}

//選擇數(shù)據(jù)庫,mysql_error()只在調(diào)試中使用,再部署項目時就不要了,不然會泄露數(shù)據(jù)庫信息
mysql_select_db('test') or die('選擇數(shù)據(jù)庫失敗'.mysql_error());

//mysql_query()可以設(shè)置字符集和執(zhí)行SQL語句
mysql_query('set names utf-8');
$sql = 'insert into test(id,name) values("1","dwqs")';
$result = mysql_query($sql); //執(zhí)行sql返回結(jié)果集

//處理結(jié)果集,insert屬于DML,會對表的記錄有影響
if($result && mysql_affected_rows() > 0)
{
//mysql_insert_id()返回最后一條新紀錄的auto_increment值
echo '插入數(shù)據(jù)成功'.mysql_insert_id().'<br/>';
}
else
{
echo '插入數(shù)據(jù)失敗,錯誤號:'.mysql_errno().'錯誤信息:'.mysql_error().'<br/>';
}

//關(guān)閉連接
mysql_close($link);
?>

二、PHP處理select查詢結(jié)果集

在PHP中執(zhí)行select語句返回一個結(jié)果集,可以用于對各個字段的處理

$result = mysql_query('select * from test');
//獲取記錄行的個數(shù)
$rows = mysql_num_rows($result);
//獲取字段個數(shù),即數(shù)據(jù)列
$cols = mysql_num_fields($result);

如果需要訪問結(jié)果集中的數(shù)據(jù),可以使用下列四個函數(shù)中的一個(均以結(jié)果集資源符作為參數(shù),并自動返回下一條記錄,在表末尾時返回false)

1、mysql_fetch_row():該函數(shù)將一條結(jié)果記錄返回并以一個普通的索引數(shù)據(jù)保存

2、mysql_fetch_assoc():從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)據(jù)保存

3、mysql_fetch_array():從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字數(shù)組,或二者兼有??梢允褂肕YSQL_ASSOC(關(guān)聯(lián)數(shù)組形式)、MYSQL_NUM(索引數(shù)組形式)和MYSQL_BOTH作為第二個參數(shù),指定返回的數(shù)據(jù)形態(tài)。

4、mysql_fetch_object():從結(jié)果集中取得一行作為對象,各個字段以對象方式訪問。

建議:沒有特殊要求,不要使用mysql_fetch_array(),可以使用mysql_fetch_row()或者mysql_fetch_assoc()實現(xiàn)同樣的功能,且效率高。

另外也有三個與結(jié)果集相關(guān)的常用函數(shù)

5、mysql_data_seek(int $num):移動內(nèi)部結(jié)果的指針,$num是想要設(shè)定的新的結(jié)果集指針的行數(shù)。

6、mysql_fetch_lengths(resource $result):取得結(jié)果集中每個輸出的長度

7、mysql_result(resource $result , int $row[,mixed $field]):返回 MySQL 結(jié)果集中一個單元的內(nèi)容。字段參數(shù)可以是字段的偏移量或者字段名,或者是字段表點字段名(tablename.fieldname)。如果給列起了別名('select foo as bar from…'),則用別名替代列名。調(diào)用 mysql_result()不能和其它處理結(jié)果集的函數(shù)混合調(diào)用。

相關(guān)文章

最新評論