What are some common errors to watch out for when using mysqli functions in PHP code?

One common error when using mysqli functions in PHP code is not properly handling errors or checking for connection issues. It's important to always check for errors after executing mysqli functions to ensure that the query was successful. Another common mistake is not escaping user input properly, which can lead to SQL injection attacks. Make sure to use prepared statements or mysqli_real_escape_string to sanitize user input before using it in a query.

// Example of properly handling errors and escaping user input in mysqli functions

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

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

// Example of using prepared statements to prevent SQL injection
$stmt = $mysqli->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bind_param("s", $username);

// Escape user input using mysqli_real_escape_string
$username = mysqli_real_escape_string($mysqli, $_POST['username']);

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

// Check for errors
if ($stmt->error) {
    die("Query failed: " . $stmt->error);
}

// 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();