What are the potential pitfalls of using outdated functions like mysql_query in PHP?

Using outdated functions like mysql_query in PHP can lead to security vulnerabilities such as SQL injection attacks, as these functions do not support prepared statements. To solve this issue, it is recommended to switch to using MySQLi or PDO extensions, which provide support for prepared statements and parameterized queries.

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

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

// Prepare a statement
$stmt = $mysqli->prepare("SELECT * FROM users WHERE username = ?");

// Bind parameters
$stmt->bind_param("s", $username);

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

// Fetch results
$result = $stmt->get_result();

// Loop through results
while ($row = $result->fetch_assoc()) {
    // Do something with the data
}

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