溫馨提示×

php mysqli函數(shù)的參數(shù)設置

PHP
小樊
83
2024-09-26 22:09:35
欄目: 云計算

在PHP中,使用MySQLi函數(shù)連接和操作MySQL數(shù)據(jù)庫時,需要正確設置參數(shù)。以下是一些常用的MySQLi函數(shù)及其參數(shù)設置:

  1. mysqli_connect()

    參數(shù)說明:

    • $host:MySQL服務器的主機名或IP地址。
    • $username:用于連接到MySQL服務器的用戶名。
    • $password:用于連接到MySQL服務器的密碼。
    • $database:要連接的MySQL數(shù)據(jù)庫名稱(可選)。
    • $port:MySQL服務器的端口號(默認為3306)。

    示例代碼:

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

    參數(shù)說明:

    • $connection:一個有效的MySQLi連接對象。
    • $query:要執(zhí)行的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()

    參數(shù)說明:

    • $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()

    參數(shù)說明:

    • $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);
    

注意:在實際開發(fā)中,為了提高安全性,建議使用預處理語句(prepared statements)來防止SQL注入攻擊。

0