What potential pitfalls should be avoided when using the MySQLi API in PHP?

One potential pitfall when using the MySQLi API in PHP is not properly sanitizing user input before executing queries, which can lead to SQL injection attacks. To avoid this issue, always use prepared statements with parameterized queries to securely pass user input to the database.

// Example of using prepared statements with MySQLi

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

// Prepare a statement with a parameterized query
$stmt = $mysqli->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bind_param("s", $username);

// Set the parameter value and execute the query
$username = $_POST['username'];
$stmt->execute();

// Process the results
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    // Do something with the data
}

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