What potential pitfalls should be considered when using insert_id() in PHP?

Using insert_id() in PHP can potentially lead to SQL injection vulnerabilities if the input is not properly sanitized. To mitigate this risk, it is important to always use prepared statements when inserting user input into a database query. This ensures that the input is properly escaped and prevents malicious SQL injection attacks.

// Example of using prepared statements with insert_id()

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

// Check for connection errors
if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// Prepare a SQL statement with a placeholder for the user input
$stmt = $mysqli->prepare("INSERT INTO table_name (column_name) VALUES (?)");

// Bind the user input to the prepared statement
$stmt->bind_param("s", $user_input);

// Set the user input
$user_input = "User input here";

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

// Get the last inserted ID
$last_insert_id = $mysqli->insert_id;

// Close the statement and connection
$stmt->close();
$mysqli->close();

// Use the last inserted ID as needed
echo "Last inserted ID: " . $last_insert_id;