What are some best practices for handling multiple languages in a PHP database?

When handling multiple languages in a PHP database, it is best practice to use language-specific tables or columns to store translations for each language. This allows for easy retrieval and management of language-specific data. Additionally, using language codes or identifiers can help organize and distinguish between different language versions of the data.

// Example of handling multiple languages in a PHP database

// Assuming we have a table called 'products' with columns for product ID, name, and description in multiple languages
// We can create a separate table called 'product_translations' to store translations for each language

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

// Function to retrieve product name in a specific language
function getProductTranslation($productId, $language) {
    global $pdo;
    $stmt = $pdo->prepare('SELECT name FROM product_translations WHERE product_id = :productId AND language = :language');
    $stmt->execute(['productId' => $productId, 'language' => $language]);
    $result = $stmt->fetch(PDO::FETCH_ASSOC);
    return $result['name'];
}

// Example of retrieving product name in English for product ID 1
$productNameEnglish = getProductTranslation(1, 'en');
echo $productNameEnglish;