Are there any best practices for structuring PHP scripts to handle data manipulation and storage efficiently?

When handling data manipulation and storage in PHP scripts, it is important to follow best practices to ensure efficiency. One way to achieve this is by separating concerns and using functions or classes to encapsulate data manipulation logic. Additionally, using prepared statements for database interactions can help prevent SQL injection attacks and improve performance.

// Example of separating concerns and using functions for data manipulation

// Function to retrieve data from the database
function fetchData($connection) {
    $query = "SELECT * FROM table_name";
    $result = mysqli_query($connection, $query);
    
    return mysqli_fetch_all($result, MYSQLI_ASSOC);
}

// Function to insert data into the database
function insertData($connection, $data) {
    $query = "INSERT INTO table_name (column1, column2) VALUES (?, ?)";
    $stmt = mysqli_prepare($connection, $query);
    mysqli_stmt_bind_param($stmt, 'ss', $data['value1'], $data['value2']);
    mysqli_stmt_execute($stmt);
}