MySQL是一款流行的關系型數據庫管理系統,而mysqli是其升級版。在編寫PHP腳本時,如果使用MySQL操作數據庫,可以選擇將原有的MySQL代碼改成mysqli來獲得更好的性能和安全性。
// MySQL連接方式 $conn = mysql_connect($db_host,$db_user,$db_password); mysql_select_db($db_name,$conn); mysql_query('SET NAMES utf8'); // mysqli連接方式 $conn = mysqli_connect($db_host,$db_user,$db_password,$db_name); mysqli_query($conn,'SET NAMES utf8');
可以看出,mysqli連接方式在建立連接時,直接將要使用的數據庫名一起傳遞,而在執行SQL語句時需要傳遞連接對象。相比之下,MySQL連接方式需要分別進行連接和選擇數據庫的操作。
// MySQL查詢數據 $sql = "SELECT * FROM user WHERE id=".$id; $result = mysql_query($sql); $row = mysql_fetch_assoc($result); // mysqli查詢數據 $sql = "SELECT * FROM user WHERE id=".$id; $result = mysqli_query($conn,$sql); $row = mysqli_fetch_assoc($result);
在執行SQL語句時,mysqli需要傳遞連接對象作為參數,不同于MySQL使用已連接好的全局連接對象。另外,mysqli在讀取查詢結果時需要通過mysqli_fetch_assoc()等方法進行解析,而MySQL可以直接使用mysql_fetch_assoc()方法。
總的來說,將MySQL改成mysqli可以提高數據庫操作的性能和安全性,但需要注意一些代碼的改變,特別是在連接和查詢數據時需要傳遞連接對象。