一、數據庫連接
$mysqli = new mysqli('localhost', 'root', 'root', 'dayone'); if(mysqli_connect_errno()){ printf("連接失?。?s\n", mysqli_connect_error()); exit(); }
上述代碼中,我們通過mysqli類實例化一個數據庫連接,并傳遞了4個參數,分別為:數據庫服務器地址,用戶名,密碼和數據庫名。其中mysqli_connect_errno()和mysqli_connect_error()的作用是檢查是否連接成功,如果不成功,則會打印出連接失敗的信息。
二、執行SQL語句
在PHP中執行SQL語句是非常常見的一個操作,我們通常會用到mysqli_query()函數。例如:
$sql = "select * from dayone_user where username='admin'"; $result = $mysqli->query($sql); if($row=$result->fetch_assoc()){ echo $row['username']; }else{ echo '沒有數據'; }
上述代碼中,我們查詢了dayone_user表中用戶名為admin的數據,并使用fetch_assoc()方法將結果集中的數據以數組的形式返回。
三、增刪改查操作
接下來,我們將介紹如何使用mysqli實現數據庫的增刪改查操作。
3.1 插入數據
$sql = "insert into dayone_user(username, password, email) values('test', '123456', 'test@qq.com')"; if($mysqli->query($sql)){ echo '插入成功'; }else{ echo '插入失敗'; }
上述代碼中,我們向dayone_user表中插入了一條新數據,并使用query()方法執行插入操作。
3.2 修改數據
$sql = "update dayone_user set password='654321' where username='test'"; if($mysqli->query($sql)){ echo '修改成功'; }else{ echo '修改失敗'; }
上述代碼中,我們修改了dayone_user表中用戶名為test的密碼,并使用query()方法執行修改操作。
3.3 刪除數據
$sql = "delete from dayone_user where username='test'"; if($mysqli->query($sql)){ echo '刪除成功'; }else{ echo '刪除失敗'; }
上述代碼中,我們刪除了dayone_user表中用戶名為test的數據,并使用query()方法執行刪除操作。
四、數據安全
在實際開發中,保障數據安全是非常重要的,下面我們將介紹如何使用mysqli防范SQL注入。
$username = mysqli_real_escape_string($mysqli, $_POST['username']); $password = mysqli_real_escape_string($mysqli, $_POST['password']); $sql = "select * from dayone_user where username='".$username."' and password='".$password."'"; $result = $mysqli->query($sql); if($row=$result->fetch_assoc()){ echo $row['username']; }else{ echo '沒有數據'; }
上述代碼中,我們通過使用mysqli_real_escape_string()來過濾$_POST傳遞過來的username和password參數,從而防止SQL注入的漏洞。
五、總結
在本文中,我們簡單介紹了如何使用mysqli實現DayOne博客系統中的增刪改查等操作,并介紹了如何使用mysqli來預防SQL注入的漏洞。在實際開發中,掌握mysqli的使用是必不可少的一項能力,也是web開發工程師必備的技能之一。