How can object-oriented programming principles, such as using classes and models, enhance the organization and functionality of PHP code for database interactions?

Object-oriented programming principles can enhance the organization and functionality of PHP code for database interactions by providing a structured way to define classes that represent database entities, such as tables or records. By using classes and models, developers can encapsulate database operations within methods, making the code more modular, reusable, and easier to maintain.

<?php

// Define a class to represent a User entity
class User {
    private $id;
    private $username;
    private $email;

    // Constructor
    public function __construct($id, $username, $email) {
        $this->id = $id;
        $this->username = $username;
        $this->email = $email;
    }

    // Method to save user data to the database
    public function save() {
        // Database interaction code to insert or update user data
    }

    // Method to delete user data from the database
    public function delete() {
        // Database interaction code to delete user data
    }
}

// Create a new User object
$user = new User(1, 'john_doe', 'john.doe@example.com');

// Save the user data to the database
$user->save();

// Delete the user data from the database
$user->delete();

?>