1899-11-30 php mysql_PHP学习十一--PHP操作MYSQL数据库
1.PHP訪問Mysql數(shù)據(jù)庫的一般步驟
連接MySQL服務(wù)器
選擇MySQL數(shù)據(jù)庫
請(qǐng)求???????????????執(zhí)行SQL語句????????????????????????請(qǐng)求
MySQL數(shù)據(jù)庫服務(wù)器??? 關(guān)閉結(jié)果集???????????????? ?? 數(shù)據(jù)資源
響應(yīng)?????????????? 關(guān)閉MySQL服務(wù)器???????????????? 響應(yīng)
(1).連接MySQL服務(wù)器。
通過mysql_connect()函數(shù)建立與MySQL服務(wù)器的連接。
mysql_connect('hostname','username','password');hostname為MySQL服務(wù)器的主機(jī)名或IP,其他兩個(gè)為登錄MySQL需要的用戶名和密碼。
$link = mysql_connect("localhost",'root','root');
if($link){
echo "數(shù)據(jù)源連接成功";
}
(2).選擇MySQL數(shù)據(jù)庫
使用mysql_select_db()函數(shù)選擇MySQL數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)庫,并與數(shù)據(jù)庫建立連接。
mysql_select_db(string 數(shù)據(jù)庫名稱, link_identifier);
$db_selected = mysql_select_db("db_database18",$link);
if($db_selected){
echo "數(shù)據(jù)庫選擇成功";
}
(3).執(zhí)行SQL語句
1).使用mysql_query()語句進(jìn)行對(duì)數(shù)據(jù)庫操作。
mysql_query(string query, resource link_identifier);
$result = mysql_query("select * from bt_member",$link);
前一個(gè)參數(shù)放置SQL語句,后面是連接表示符。
2).使用mysql_fetch_array()函數(shù)從數(shù)組結(jié)果中獲取信息
array mysql_fetch_array(resource result,int result_type);
$info = mysql_fetch_array($result);
3).使用mysql_fetch_object()函數(shù)同樣
此函數(shù)和mysql_fetch_array()函數(shù)類似,區(qū)別只有一點(diǎn),即此函數(shù)返回的是一個(gè)對(duì)象而不是數(shù)組,該函數(shù)只能通過字段名來訪問數(shù)組。使用下面的格式來獲取結(jié)果集中行的元素值。如從數(shù)據(jù)表中檢索id和name的值:$row->col_name
$info = mysql_fetch_object($sql);
<?php echo $info->bookname?>
4).使用mysql_fetch_row()函數(shù)逐行獲取結(jié)果集中的每條數(shù)據(jù)
array mysql_fetch_row(resource result)
$info = mysql_fetch_row($result);
5).使用mysql_num_rows()函數(shù)獲取查詢結(jié)果集中的記錄數(shù)
int mysql_num_rows(resource result)
$nums = mysql_num_rows($result);
echo nums;
(4).關(guān)閉結(jié)果集
操作結(jié)束后要關(guān)閉結(jié)果集,釋放系統(tǒng)資源
mysql_free_result($result);
如果多個(gè)網(wǎng)頁中要頻繁訪問數(shù)據(jù)庫,則需要建立持續(xù)的連接提高效率。可以調(diào)用mysql_pconnect();
(5).關(guān)閉MySQL服務(wù)器
每一次建立連接,修改數(shù)據(jù)庫都會(huì)消耗系統(tǒng)資源。如果用戶連接超過一定數(shù)量,就會(huì)造成系統(tǒng)性能下降,甚至死機(jī)。為了避免這種情況發(fā)生,完成數(shù)據(jù)庫操作后,應(yīng)該關(guān)閉與MySQL服務(wù)器的連接。使用函數(shù)mysql_close($link);
2.PHP數(shù)據(jù)庫的擴(kuò)展
PHP中一個(gè)數(shù)據(jù)庫可能有一個(gè)或者多個(gè)擴(kuò)展,其中既有官方的,也有第三方提供的。像Mysql常用的擴(kuò)展有原生的mysql庫,也可以使用增強(qiáng)版的mysqli擴(kuò)展,還可以使用PDO進(jìn)行連接與操作。
不同的擴(kuò)展提供基本相近的操作方法,不同的是可能具備一些新特性,以及操作性能可能會(huì)有所不同。
mysql擴(kuò)展進(jìn)行數(shù)據(jù)庫連接的方法:
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
mysqli擴(kuò)展:
$link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password');
PDO擴(kuò)展
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
$dbh = new PDO($dsn, $user, $password);
在mysql中,執(zhí)行插入語句以后,可以得到自增的主鍵id,通過PHP的mysql_insert_id函數(shù)可以獲取該id。
$uid = mysql_insert_id();
這個(gè)id的作用非常大,通常可以用來判斷是否插入成功,或者作為關(guān)聯(lián)ID進(jìn)行其他的數(shù)據(jù)操作。
總結(jié)
以上是生活随笔為你收集整理的1899-11-30 php mysql_PHP学习十一--PHP操作MYSQL数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 街机安卓模拟器(街机安卓)
- 下一篇: mysql读写分离 存储过程_基于max