What are common pitfalls when using PHP functions like mysqli_query and mysqli_fetch_array for database queries?

Common pitfalls when using functions like mysqli_query and mysqli_fetch_array include not properly handling errors, not sanitizing user input leading to SQL injection vulnerabilities, and not closing the database connection after use. To solve these issues, always check for errors when executing queries, sanitize user input using prepared statements or mysqli_real_escape_string, and close the database connection when done.

// Connect to the database
$connection = mysqli_connect("localhost", "username", "password", "database");

// Check connection
if (!$connection) {
    die("Connection failed: " . mysqli_connect_error());
}

// Sanitize user input
$user_input = mysqli_real_escape_string($connection, $_POST['user_input']);

// Prepare and execute query
$query = "SELECT * FROM table WHERE column = '$user_input'";
$result = mysqli_query($connection, $query);

// Check for errors
if (!$result) {
    die("Query failed: " . mysqli_error($connection));
}

// Fetch and display results
while ($row = mysqli_fetch_array($result)) {
    echo $row['column_name'] . "<br>";
}

// Close connection
mysqli_close($connection);