欢迎访问宙启技术站
智能推送

使用这10个PHP函数轻松连接和操作MySQL数据库

发布时间:2023-06-26 22:21:43

MySQL 是一个常用的关系型数据库管理系统,PHP 作为一种高效的服务器端脚本语言,与 MySQL 配合使用可以轻松处理各种数据库操作。在下面的文章中,我们将介绍十个 PHP 函数,帮助您轻松连接和操作 MySQL 数据库。

1. mysqli_connect()

mysqli_connect() 函数用于创建到 MySQL 数据库的连接。该函数使用四个参数:host(必选),username(必选),password(可选)和 database(可选)。

$host = "localhost";
$username = "root";
$password = "";
$database = "test_db";

$conn = mysqli_connect($host, $username, $password, $database);

if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
} else {
  echo "Connected successfully";
}

2. mysqli_query()

mysqli_query() 函数用于向数据库发送查询或其他请求。该函数使用两个参数:连接对象和要执行的 SQL 语句。

$sql = "SELECT * FROM users";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
  while($row = mysqli_fetch_assoc($result)) {
    echo "Name: " . $row["name"]. " Age: " . $row["age"]. "<br>";
  }
} else {
  echo "0 results";
}

3. mysqli_fetch_assoc()

mysqli_fetch_assoc() 函数用于从结果集中获取一行作为关联数组。该函数使用一个参数:结果集对象。

$row = mysqli_fetch_assoc($result);

4. mysqli_num_rows()

mysqli_num_rows() 函数用于获取结果集中的记录数。该函数使用一个参数:结果集对象。

$count = mysqli_num_rows($result);

5. mysqli_affected_rows()

mysqli_affected_rows() 函数用于获取最近执行的 INSERT、UPDATE 或 DELETE 查询所影响的行数。该函数使用一个参数:连接对象。

$sql = "DELETE FROM users WHERE id=3";
mysqli_query($conn, $sql);

$count = mysqli_affected_rows($conn);
echo "Affected rows: " . $count;

6. mysqli_insert_id()

mysqli_insert_id() 函数用于获取最后一个 INSERT 查询中自动生成的 ID。该函数使用一个参数:连接对象。

$sql = "INSERT INTO users (name, age) VALUES ('John', 23)";
mysqli_query($conn, $sql);

$id = mysqli_insert_id($conn);
echo "Last inserted ID is: " . $id;

7. mysqli_real_escape_string()

mysqli_real_escape_string() 函数用于转义字符串中的特殊字符。该函数使用两个参数:连接对象和要转义的字符串。

$name = mysqli_real_escape_string($conn, $_POST["name"]);
$age = mysqli_real_escape_string($conn, $_POST["age"]);

$sql = "INSERT INTO users (name, age) VALUES ('$name', '$age')";
mysqli_query($conn, $sql);

8. mysqli_error()

mysqli_error() 函数用于获取上一次 MySQL 操作的错误信息。该函数使用一个参数:连接对象。

$sql = "SELECT * FROM users where id=100";
$result = mysqli_query($conn, $sql);

if (!$result) {
  echo "Error: " . mysqli_error($conn);
} else {
  echo "Query executed successfully";
}

9. mysqli_close()

mysqli_close() 函数用于关闭到 MySQL 数据库的连接。该函数使用一个参数:连接对象。

mysqli_close($conn);

10. prepared statements

预处理语句可以提高代码的安全性和性能,并防止 SQL 注入攻击。以下是一个使用预处理语句的示例,其中 prepare() 函数用于查询,在查询之前还未知道具体的查询值。

$name = $_POST["name"];
$age = $_POST["age"];

$stmt = mysqli_prepare($conn, "SELECT * FROM users WHERE name=? AND age=?");
mysqli_stmt_bind_param($stmt, "si", $name, $age);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);

if (mysqli_num_rows($result) > 0) {
  while($row = mysqli_fetch_assoc($result)) {
    echo "Name: " . $row["name"]. " Age: " . $row["age"]. "<br>";
  }
} else {
  echo "0 results";
}

mysqli_stmt_close($stmt);

总结:

使用以上 PHP 函数,您能够轻松连接和操作 MySQL 数据库,从而优化您的 Web 开发体验,提高代码质量,确保系统的安全性。使用预处理语句特别要注意,将会减少您的代码的 SQL 注入风险。