What are some best practices for creating HTML/PHP input forms for CRUD operations in a normalized MySQL database using PHP?

When creating HTML/PHP input forms for CRUD operations in a normalized MySQL database using PHP, it is important to follow best practices to ensure data integrity and security. One key practice is to use prepared statements to prevent SQL injection attacks. Additionally, validate user input on the client side using JavaScript and on the server side to prevent malicious data entry. Finally, properly sanitize and escape user input before inserting it into the database to prevent XSS attacks.

<?php
// Establish database connection
$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 bind SQL statement
$stmt = $conn->prepare("INSERT INTO table_name (column1, column2) VALUES (?, ?)");
$stmt->bind_param("ss", $value1, $value2);

// Set parameters and execute
$value1 = $_POST['input1'];
$value2 = $_POST['input2'];
$stmt->execute();

echo "New record created successfully";

$stmt->close();
$conn->close();
?>