What potential pitfalls should be avoided when using PHP to connect and store data in a MySQL database?

One potential pitfall to avoid when using PHP to connect and store data in a MySQL database is SQL injection. This can occur when user input is not properly sanitized before being used in SQL queries, allowing malicious users to manipulate the database. To prevent SQL injection, it's important to use prepared statements with parameterized queries.

// Connect 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 a statement
$stmt = $conn->prepare("INSERT INTO table_name (column1, column2) VALUES (?, ?)");

// Bind parameters
$stmt->bind_param("ss", $value1, $value2);

// Set parameters and execute
$value1 = "value1";
$value2 = "value2";
$stmt->execute();

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