What best practices should be followed when connecting to a MySQL database from PHP and executing queries to insert data?

When connecting to a MySQL database from PHP and executing queries to insert data, it is important to follow best practices to ensure security and efficiency. This includes using prepared statements to prevent SQL injection attacks, sanitizing user input, and properly handling errors.

<?php
// Establish connection to MySQL database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

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

// Prepare and execute insert query using prepared statements
$stmt = $conn->prepare("INSERT INTO table_name (column1, column2) VALUES (?, ?)");
$stmt->bind_param("ss", $value1, $value2);

// Set values for the parameters
$value1 = "value1";
$value2 = "value2";

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

// Check for errors
if ($stmt->errno) {
    echo "Error: " . $stmt->error;
}

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