What is the purpose of using a stored procedure in PHP and how does it differ from other methods of database interaction?

Using a stored procedure in PHP allows for better organization and security when interacting with a database. It helps to prevent SQL injection attacks by parameterizing inputs and can improve performance by reducing the number of queries sent to the database server. Stored procedures can also be reused across different parts of an application.

<?php
// Connect to database
$mysqli = new mysqli("localhost", "username", "password", "database");

// Prepare a stored procedure
$stmt = $mysqli->prepare("CALL sp_get_users(?)");

// Bind parameters
$user_id = 1;
$stmt->bind_param("i", $user_id);

// Execute the stored procedure
$stmt->execute();

// Get the result set
$result = $stmt->get_result();

// Fetch data
while ($row = $result->fetch_assoc()) {
    // Process data
}

// Close statement and connection
$stmt->close();
$mysqli->close();
?>