How can mysqli prepared statements be used to avoid multiple bind_param calls in PHP?

When using mysqli prepared statements in PHP, you can avoid multiple bind_param calls by using the bind_param function with a variable number of arguments. This can be achieved by passing an array of parameters to bind_param dynamically, based on the number and types of variables to bind.

// Establish database connection
$mysqli = new mysqli('localhost', 'username', 'password', 'database');

// Prepare a SQL statement with placeholders
$stmt = $mysqli->prepare('INSERT INTO users (name, email) VALUES (?, ?)');

if ($stmt) {
    // Define an array of parameters to bind
    $params = ['John Doe', 'john.doe@example.com'];

    // Dynamically bind parameters based on the array
    $stmt->bind_param(str_repeat('s', count($params)), ...$params);

    // Execute the statement
    $stmt->execute();

    // Close the statement
    $stmt->close();
}

// Close the database connection
$mysqli->close();