MySQLi(MySQL Improved)是 PHP 提供的一种与 MySQL 数据库进行交互的扩展,它提供了一组函数和面向对象的接口,支持更多的 MySQL 功能和提高了安全性。以下是一些常用的 MySQLi 函数:

连接和关闭数据库:

1. mysqli_connect():打开一个到 MySQL 服务器的新连接。
    <?php
    $conn = mysqli_connect("localhost", "username", "password", "database");
    
    // 检查连接是否成功
    if (!$conn) {
        die("连接失败: " . mysqli_connect_error());
    }
    ?>

2. mysqli_close():关闭 MySQL 连接。
    <?php
    mysqli_close($conn);
    ?>

执行查询:

3. mysqli_query():执行一条 MySQL 查询。
    <?php
    $sql = "SELECT * FROM users";
    $result = mysqli_query($conn, $sql);
    
    // 处理查询结果
    while ($row = mysqli_fetch_assoc($result)) {
        echo $row['username'] . "<br>";
    }
    ?>

4. mysqli_multi_query():执行一条或多条 SQL 查询。
    <?php
    $sql = "SELECT * FROM users; SELECT * FROM products";
    if (mysqli_multi_query($conn, $sql)) {
        do {
            // 处理每一条查询结果
            if ($result = mysqli_store_result($conn)) {
                while ($row = mysqli_fetch_assoc($result)) {
                    echo $row['column'] . "<br>";
                }
                mysqli_free_result($result);
            }
        } while (mysqli_next_result($conn));
    }
    ?>

预处理语句(Prepared Statements):

5. mysqli_prepare():准备 SQL 语句以供执行。
    <?php
    $stmt = mysqli_prepare($conn, "INSERT INTO users (username, password) VALUES (?, ?)");
    mysqli_stmt_bind_param($stmt, "ss", $username, $password);
    
    // 设置参数并执行语句
    $username = "john";
    $password = "password123";
    mysqli_stmt_execute($stmt);
    
    mysqli_stmt_close($stmt);
    ?>

获取结果集信息:

6. mysqli_num_rows():返回结果集中行的数量。
    <?php
    $row_count = mysqli_num_rows($result);
    echo "行数:" . $row_count;
    ?>

7. mysqli_affected_rows():返回最后一次执行操作受影响的行数。
    <?php
    $affected_rows = mysqli_affected_rows($conn);
    echo "受影响的行数:" . $affected_rows;
    ?>

这些是 MySQLi 函数的一些基本用法。在实际开发中,为了提高安全性,建议使用预处理语句,以避免 SQL 注入攻击。此外,MySQLi 还提供了其他一些高级特性,如事务处理、存储过程的支持等。


转载请注明出处:http://www.pingtaimeng.com/article/detail/3522/PHP