MySQLi是PHP中操作MySQL數(shù)據(jù)庫的擴展庫之一,需要先連接數(shù)據(jù)庫才能對其進行操作。本文將通過多個示例介紹MySQLi的使用方法。
連接數(shù)據(jù)庫
連接數(shù)據(jù)庫是MySQLi使用的第一步。示例代碼如下:
//連接數(shù)據(jù)庫 $mysqli = new mysqli('host','user','password','database'); if($mysqli->connect_error){ die('Connect Error:'.$mysqli->connect_errno); }其中,$mysqli表示連接對象,host、user、password和database是連接數(shù)據(jù)庫的相關(guān)信息。如果連接失敗,則拋出錯誤。 查詢數(shù)據(jù) 查詢數(shù)據(jù)是MySQLi使用的核心功能之一。下面是一些示例代碼:
//查詢所有數(shù)據(jù) $result = $mysqli->query("SELECT * FROM table"); while($row = $result->fetch_assoc()){ print_r($row); } //查詢指定數(shù)據(jù) $name = $mysqli->real_escape_string('Doe'); $result = $mysqli->query("SELECT * FROM table WHERE name='$name'"); $row = $result->fetch_assoc(); print_r($row);其中,$result表示查詢結(jié)果,fetch_assoc()方法會將查詢結(jié)果轉(zhuǎn)化成關(guān)聯(lián)數(shù)組,在循環(huán)中遍歷查詢結(jié)果即可。real_escape_string()方法是用來防止SQL注入的。 插入數(shù)據(jù) 插入數(shù)據(jù)也是MySQLi使用的核心功能之一。下面是一些示例代碼:
//單條數(shù)據(jù)插入 $name = $mysqli->real_escape_string('Doe'); $age = 30; $mysqli->query("INSERT INTO table (name, age) VALUES ('$name', $age)"); //多條數(shù)據(jù)插入 $values = array(); $values[] = "('John', 20)"; $values[] = "('Mary', 25)"; $values[] = "('Jim', 35)"; $values = implode(',', $values); $mysqli->query("INSERT INTO table (name, age) VALUES $values");其中,implode()方法用來將數(shù)組轉(zhuǎn)化成字符串,多條數(shù)據(jù)插入時需要用到。 更新數(shù)據(jù) 更新數(shù)據(jù)也是MySQLi使用的核心功能之一。下面是一些示例代碼:
//更新單條數(shù)據(jù) $id = 1; $name = $mysqli->real_escape_string('Doe'); $age = 40; $mysqli->query("UPDATE table SET name='$name', age=$age WHERE id=$id"); //更新多條數(shù)據(jù) $values = array(); $values[] = "SET age=30 WHERE name='John'"; $values[] = "SET age=25 WHERE name='Mary'"; $values[] = "SET age=35 WHERE name='Jim'"; $values = implode(';', $values); $mysqli->query("UPDATE table $values");其中,SET表示更新的字段和值,多條數(shù)據(jù)更新時需要用到分號隔開的方式。 刪除數(shù)據(jù) 刪除數(shù)據(jù)也是MySQLi使用的核心功能之一。下面是一些示例代碼:
//刪除單條數(shù)據(jù) $id = 1; $mysqli->query("DELETE FROM table WHERE id=$id"); //刪除多條數(shù)據(jù) $names = array('John', 'Mary', 'Jim'); $names = implode(',', $names); $mysqli->query("DELETE FROM table WHERE name IN ($names)");其中,IN表示多個值,需要用逗號隔開;單個值可以直接寫在WHERE子句中。 總結(jié) 本文通過多個示例介紹了MySQLi的使用方法,包括連接數(shù)據(jù)庫、查詢數(shù)據(jù)、插入數(shù)據(jù)、更新數(shù)據(jù)和刪除數(shù)據(jù)。MySQLi可以方便地操作MySQL數(shù)據(jù)庫,是PHP中的重要擴展之一。