PHP

php mysqli函数的参数设置

小樊
84
2024-09-26 22:09:35
栏目: 云计算

在PHP中,使用MySQLi函数连接和操作MySQL数据库时,需要正确设置参数。以下是一些常用的MySQLi函数及其参数设置:

  1. mysqli_connect()

    参数说明:

    • $host:MySQL服务器的主机名或IP地址。
    • $username:用于连接到MySQL服务器的用户名。
    • $password:用于连接到MySQL服务器的密码。
    • $database:要连接的MySQL数据库名称(可选)。
    • $port:MySQL服务器的端口号(默认为3306)。

    示例代码:

    $conn = mysqli_connect("localhost", "username", "password", "database");
    if (!$conn) {
        die("连接失败: " . mysqli_connect_error());
    }
    echo "连接成功";
    
  2. mysqli_query()

    参数说明:

    • $connection:一个有效的MySQLi连接对象。
    • $query:要执行的SQL查询字符串。

    示例代码:

    $conn = mysqli_connect("localhost", "username", "password", "database");
    if (!$conn) {
        die("连接失败: " . mysqli_connect_error());
    }
    
    $sql = "SELECT id, name FROM users";
    $result = mysqli_query($conn, $sql);
    
    if (mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {
            echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
        }
    } else {
        echo "0 结果";
    }
    mysqli_close($conn);
    
  3. mysqli_prepare()

    参数说明:

    • $connection:一个有效的MySQLi连接对象。
    • $query:要准备的SQL查询字符串。

    示例代码:

    $conn = mysqli_connect("localhost", "username", "password", "database");
    if (!$conn) {
        die("连接失败: " . mysqli_connect_error());
    }
    
    $stmt = mysqli_prepare($conn, "INSERT INTO users (name, age) VALUES (?, ?)");
    if (!$stmt) {
        die("准备查询失败: " . mysqli_error($conn));
    }
    
    $name = "John";
    $age = 25;
    mysqli_stmt_bind_param($stmt, "si", $name, $age);
    
    if (mysqli_stmt_execute($stmt)) {
        echo "新记录插入成功";
    } else {
        echo "Error: " . mysqli_error($conn);
    }
    
    mysqli_stmt_close($stmt);
    mysqli_close($conn);
    
  4. mysqli_real_escape_string()

    参数说明:

    • $connection:一个有效的MySQLi连接对象。
    • $string:要转义的字符串。

    示例代码:

    $conn = mysqli_connect("localhost", "username", "password", "database");
    if (!$conn) {
        die("连接失败: " . mysqli_connect_error());
    }
    
    $username = "O'Reilly";
    $password = "secret";
    
    $username = mysqli_real_escape_string($conn, $username);
    $password = mysqli_real_escape_string($conn, $password);
    
    $sql = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
    $result = mysqli_query($conn, $sql);
    
    if (mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {
            echo "登录成功";
        }
    } else {
        echo "用户名或密码错误";
    }
    
    mysqli_close($conn);
    

注意:在实际开发中,为了提高安全性,建议使用预处理语句(prepared statements)来防止SQL注入攻击。

0
看了该问题的人还看了