一.mysqli擴展的介紹php
1.mysqli擴展和mysql擴展均可以完成對數據庫的操做html
2.mysqli是mysql的升級版mysql
3.mysqli支持面向對象,也支持面向過程;mysql擴展只支持面向過程,從而mysql擴展到目前爲止已經被棄用sql
4.使用mysqli的擴展前,須要引入一個php_mysqli.dll,該文件在php的安裝目錄,在 ~/php/ext/php_mysqli.dll。數據庫
二.mysqli擴展的原理圖fetch
三.如何使用spa
(1)DQLcode
1 <?php 2 header('content-type:text/html;charset=utf8'); 3 /* 4 參數名就很少說了應該都能看懂 5 */ 6 $mySQLi=new mySQLi('localhost','root','root','itbull',3306); 7 //判斷是否鏈接成功 沒有錯誤返回0 有錯誤返回錯誤信息 8 if($mySQLi->connect_errno){ 9 die('鏈接錯誤,錯誤信息是:'.$mySQLi->connect_error); 10 }else{ 11 echo '鏈接成功'; 12 } 13 //設置字符集 14 $mySQLi->set_charset('utf8'); 15 //拼接sql語句 16 $sql="SELECT * FROM `user3`"; 17 //執行sql語句 18 $res=$mySQLi->query($sql); 19 /*echo '<pre>'; 20 var_dump($res);*/ 21 //顯示數據的時候用$res來循環取出 22 while($row=$res->fetch_assoc()){ 23 echo '<pre>'; 24 var_dump($row); 25 } 26 //關閉相關資源 不手動關閉 系統也會自動關閉 27 //釋放結果集 28 $res->free(); 29 //關閉鏈接 30 $mySQLi->close(); 31 32 33 34 ?>
(2)DMLhtm
1 <?php 2 3 header('content-type:text/html;charset=utf8'); 4 /* 5 參數名就很少說了應該都能看懂 6 */ 7 $mySQLi=new mySQLi('localhost','root','root','itbull',3306); 8 //判斷是否鏈接成功 沒有錯誤返回0 有錯誤返回錯誤信息 9 if($mySQLi->connect_errno){ 10 die('鏈接錯誤,錯誤信息是:'.$mySQLi->connect_error); 11 }else{ 12 echo '鏈接成功','<br>'; 13 } 14 //設置字符集 15 $mySQLi->set_charset('utf8'); 16 17 $sql="INSERT INTO `user3` VALUES(null,'王五',md5('456'),'ww@sohu.com','2017-10-1')"; 18 19 $sql="UPDATE `user3` SET name='王五五' WHERE id=3"; 20 21 $sql="DELETE FROM `user3` WHERE id=3"; 22 //dml語句 成功返回true 失敗返回false 23 if($mySQLi->query($sql)){ 24 echo '執行成功','<br>'; 25 }else{ 26 echo "執行失敗,sql語句是:".$sql,'<br>'; 27 echo "失敗的緣由是:".$mySQLi->error,'<br>'; 28 }
1 //判斷dml語句是否影響了表 2 if($mySQLi->affected_rows>0){ 3 echo '<br> 改變了表'; 4 }else{ 5 echo '<br> 表沒有改變'; 6 } 7 8 //獲取剛剛獲得的id 9 echo "<br> id=".$mySQLi->insert_id;
(3)從mysql_result中取出數據的方式有四種,推薦使用第一種,$res->data_seek(0)是將結果指向爲0對象
1 while($row=$res->fetch_assoc()){ 2 echo '<pre>'; 3 var_dump($row); 4 } 5 6 $res->data_seek(0);//結果指向設置爲0 7 while($row=$res->fetch_row()){ 8 echo '<pre>'; 9 var_dump($row); 10 } 11 12 $res->data_seek(0); 13 while($row=$res->fetch_array()){ 14 echo '<pre>'; 15 var_dump($row); 16 } 17 18 $res->data_seek(0); 19 while($row=$res->fetch_object()){ 20 echo '<pre>'; 21 var_dump($row); 22 echo '電子郵件:'.$row->email; 23 }