How can PHP be used to efficiently retrieve data from a MySQL database for a forum script?

To efficiently retrieve data from a MySQL database for a forum script, you can use PHP with MySQLi or PDO to establish a connection to the database and execute queries to fetch the required data. It is recommended to use prepared statements to prevent SQL injection attacks and improve performance by reusing query execution plans.

// Establish a connection to the MySQL database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "forum_db";

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Prepare and execute a query to retrieve forum posts
$stmt = $conn->prepare("SELECT post_title, post_content FROM forum_posts WHERE category_id = ?");
$category_id = 1;
$stmt->bind_param("i", $category_id);
$stmt->execute();

// Bind the result variables
$stmt->bind_result($post_title, $post_content);

// Fetch and display the forum posts
while ($stmt->fetch()) {
    echo "Title: " . $post_title . "<br>";
    echo "Content: " . $post_content . "<br>";
}

// Close the statement and connection
$stmt->close();
$conn->close();