PHP是現今最為廣泛使用開源服務器端腳本語言,而MySQL是最流行的關系型數據庫管理系統。在PHP應用程序中,我們需要經常與MySQL數據庫進行交互。MySQL提供了多種連接方式,其中,最廣泛應用的方式是通過mysqli的擴展庫。
mysqli是mysql擴展的改進版,它能夠更加有效地與MySQL數據庫交互,獲得更好的性能表現和更多的功能。比如,它支持錯誤處理、序列化、存儲過程和綁定變量等功能,它還能夠與MySQL的新功能進行交互,例如prepared statements和stored procedures。下面,就讓我們來看一下如何使用mysqli擴展庫。
首先,我們需要通過mysqli_connect函數來建立與MySQL數據庫的連接。下面是如何使用mysqli_connect函數來連接MySQL數據庫:
$connect = mysqli_connect("localhost","root","password","database"); if(!$connect){ die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); } echo 'Connected...';
在上面的代碼中,我們使用mysqli_connect函數來連接名為"database"的MySQL數據庫,用戶名為"root",密碼為"password"。如果連接失敗,我們就會輸出錯誤信息。如果連接成功,我們會輸出"Connected..."。
建議在傳遞參數時使用常量,如下所示:
define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASS', 'password'); define('DB_NAME', 'database'); $connect = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);
接下來,我們可以使用mysqli_query函數來向MySQL數據庫發送SQL查詢語句并獲得查詢結果集。例如,下面是如何獲取MySQL數據庫中的所有數據:
$sql = "SELECT * FROM user"; $result = mysqli_query($connect,$sql); if(mysqli_num_rows($result) >0){ while($row = mysqli_fetch_assoc($result)){ echo "Name: " .$row["name"]. " - Email: " .$row["email"]. "
"; } } else{ echo "No records..."; }
在上面的代碼中,我們使用mysqli_query函數來向MySQL數據庫發送一個SELECT查詢語句,該語句會將user表中的所有數據返回給我們。然后,我們使用mysqli_num_rows函數來判斷結果集中是否包含數據。如果結果集中包含數據,我們就使用mysqli_fetch_assoc函數來獲取每一行數據,并將其輸出到屏幕上,如果結果集中不包含數據,我們就輸出"No records..."。
最后,當我們完成與MySQL數據庫的交互后,我們應該使用mysqli_close函數來關閉與MySQL數據庫的連接。例如,下面是如何關閉連接:
mysqli_close($connect);
在這篇文章中,我們介紹了如何使用mysqli擴展庫來與MySQL數據庫進行交互,包括建立連接、發送查詢語句、獲取結果集和關閉連接。我們還列舉了一些mysqli提供的新功能,例如錯誤處理、序列化、存儲過程和綁定變量。留給讀者探索的任務是:更加深入地學習mysqli擴展庫的所有功能,并使用它們來構建更加快速、可靠、安全的PHP應用程序。