/*
- 方法一
- 如果返回true代表開啟成功,false代表開啟失敗
*/var_dump(extension_loaded('mysqli'));
/* - 方法二
- 檢視所有已開啟的擴充套件
- 返回值為乙個陣列
*/$extension = get_loaded_extensions();
//會顯示出所有的擴充套件
print_r($extension);
//檢視是否包含mysqli擴充套件
if(in_array('mysqli',$extension)) else
1.建立到mysql的連線和開啟指定的資料庫
/*
* 方法一
*/$mysqli
=new mysqli('localhost','root','');//連線mysql
$mysqli
->select_db('test'); //選擇資料庫
/* * 方法二
*/$mysqli
=new mysqli();
$mysqli
->connect('localhost','root','');//連線到mysql
/* * 方法三
*/$mysqli
= @new mysqli('localhost','root','','test');//連線到mysql並選擇資料庫
//如果連線錯誤
//$mysqli->connect_errno:連線產生的錯誤編號
//$mysqli->connect_error:連線產生的錯誤資訊
if($mysqli
->connect_errno)
2.設定客戶端的編碼方式
$mysqli->set_charset('utf8');
3.執行sql查詢
$sql
=<<
create table mysqli(
id tinyint unsigned auto_increment key,
username varchar(20) not
null
);eof;
$res
=$mysqli
->query($sql);
var_dump($res);//結果正確輸出boolean true
4.關閉連線
$mysqli->close();
例如我有乙個account表,表中有id,姓名,錢包。
向表中插入兩條資料
如果我想要實現,zjp給wxd轉賬200塊,那麼就需要使用兩個update語句來實現。
//zjp錢數減少200
$sql = "update account set money=money-200
where name='zjp'
";//wxd錢數增加200
$sql = "
update account set money=money+200
where name='wxd'
";
如果按照正常的執行模式的話,第一條sql是錯的,那麼會導致,zjp的錢數沒有減少,wxd的錢數卻增加了,如果真的是那樣的話,我想我就發財了。弄兩個賬號一直轉錢玩兒,哈哈哈哈(原諒我做夢了)
要實現這樣的功能就需要使用mysqli的事務功能:
//mysqli的sql語句是自動提交的,所以先要關閉自動提交,這裡才是關鍵
$mysqli
->autocommit(false);
//編寫sql
//zjp轉出錢
$sql
="update account set money=money-200 where name='zjp1'";
$res
=$mysqli
->query($sql);
$res_affect
=$mysqli
->affected_rows;
//wxd收到錢
$sql1
="update account set money=money+200 where name='wxd'";
$res1
=$mysqli
->query($sql1);
$res1_affect1
=$mysqli
->affected_rows;
//我要判斷操作是否正確
if($res
&&$res_affect
>0&&
$res1
&&$res1_affect1) else
//關閉連線
$mysqli
->close();
這樣就實現了簡單的乙個事務。 54 mysqli 擴充套件庫
mysqli 擴充套件庫 在 php.ini 總啟用 mysqli擴充套件庫 extension php mysqli.dll header content type text html charset utf8 mysqli 操作 mysql 資料庫 物件導向風格 1.建立mysqli物件 mys...
Mysqli擴充套件庫的總結
一.mysqli概念 從php5.0開始可以使用mysqli,是乙個物件導向的技術 mysql是非持續鏈結資料庫,mysql每次鏈結都會開啟乙個鏈結的程序 mysqli是永久鏈結函式,多次執行mysqli將使用同一鏈結程序,從而減少伺服器的開銷 功能增加了,mysqli封裝了諸如事物等一些高階操作 ...
MySQL i 擴充套件
在上一章的內容中有寫出php的幾種擴充套件,本章會開啟mysql i 擴充套件的篇章。注意 mysql i 擴充套件只支援mysql資料庫 1.如何連線資料庫 連線資料庫 conn new mysqli localhost root root text 2 3306 檢視連線是否正確 if link...