What is the best way to retrieve user-specific database entries in PHP?

When retrieving user-specific database entries in PHP, the best way is to use prepared statements to prevent SQL injection attacks and to ensure the security of the data being retrieved. By using placeholders in the SQL query and binding parameters, you can safely retrieve user-specific data from the database.

// Assuming $userId contains the user's ID
$userId = $_SESSION['user_id'];

// Connect to the database
$pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");

// Prepare a SQL query with a placeholder for the user ID
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :userId");

// Bind the user ID parameter to the placeholder
$stmt->bindParam(':userId', $userId, PDO::PARAM_INT);

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

// Fetch the user-specific data
$userData = $stmt->fetch(PDO::FETCH_ASSOC);

// Use the retrieved data as needed
echo "User ID: " . $userData['id'] . "<br>";
echo "Username: " . $userData['username'] . "<br>";