MySQLi擴充套件庫

2021-07-10 20:05:55 字數 2651 閱讀 1968

/*

- 方法一

- 如果返回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...