What are the potential pitfalls of not normalizing a database when using PHP?

Not normalizing a database when using PHP can lead to data redundancy, inconsistency, and difficulty in maintaining and updating the database. To solve this issue, it is important to design the database schema following the principles of normalization, which involves breaking down data into smaller, related tables to minimize redundancy and ensure data integrity.

// Example of normalizing a database in PHP using PDO

try {
    $pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $pdo->exec("CREATE TABLE users (
        id INT(11) AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50) NOT NULL,
        email VARCHAR(100) NOT NULL
    )");

    $pdo->exec("CREATE TABLE posts (
        id INT(11) AUTO_INCREMENT PRIMARY KEY,
        title VARCHAR(100) NOT NULL,
        content TEXT,
        user_id INT(11),
        FOREIGN KEY (user_id) REFERENCES users(id)
    )");

} catch(PDOException $e) {
    echo "Error: " . $e->getMessage();
}