What are the potential pitfalls of using mysqli_query to retrieve data from a MySQL database in PHP?

One potential pitfall of using mysqli_query to retrieve data from a MySQL database in PHP is the risk of SQL injection attacks if user input is not properly sanitized. To prevent this, it is recommended to use prepared statements with bound parameters.

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

// Prepare a SQL statement with placeholders for parameters
$stmt = $mysqli->prepare("SELECT * FROM table WHERE column = ?");

// Bind parameters to the placeholders
$stmt->bind_param("s", $param_value);

// Set the parameter value
$param_value = "some_value";

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

// Bind the result to variables
$stmt->bind_result($result1, $result2);

// Fetch the results
while ($stmt->fetch()) {
    // Do something with the results
}

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