What are some potential security risks when using $_GET in PHP and how can they be mitigated?

One potential security risk when using $_GET in PHP is that it can make your application vulnerable to SQL injection attacks if the input is not properly sanitized. To mitigate this risk, always sanitize and validate any data coming from $_GET before using it in database queries.

// Sanitize and validate input from $_GET
$user_id = isset($_GET['user_id']) ? filter_var($_GET['user_id'], FILTER_SANITIZE_NUMBER_INT) : null;

// Use prepared statements to prevent SQL injection
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :user_id");
$stmt->bindParam(':user_id', $user_id, PDO::PARAM_INT);
$stmt->execute();