۷

اتصال به دیتابیس 🗄️

وقتشه API رو به مغز واقعی (پایگاه داده) وصل کنیم!

چرا دیتابیس؟

تا الان اطلاعاتمون رو تو یه متغیر آرایه نگه می‌داشتیم. این برای تست خوبه، ولی به محض اینکه سرور خاموش بشه، همه چی می‌پره! دیتابیس (مثل MySQL یا PostgreSQL) بهمون اجازه می‌ده اطلاعات رو به صورت دائمی ذخیره کنیم.

اتصال در Node.js با `mysql2`

برای اتصال به MySQL در Node.js، از پکیج `mysql2` استفاده می‌کنیم.

server.js
const express = require('express');
const mysql = require('mysql2/promise');
const app = express();

// اطلاعات اتصال به دیتابیس
const dbConfig = {
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'my_blog'
};

// گرفتن همه پست‌ها از دیتابیس
app.get('/api/posts', async (req, res) => {
    try {
        const connection = await mysql.createConnection(dbConfig);
        const [rows, fields] = await connection.execute('SELECT * FROM posts');
        res.json(rows);
    } catch (error) {
        res.status(500).json({ error: 'خطای سرور' });
    }
});

app.listen(3000);

اتصال در PHP با `MySQLi`

در PHP، می‌تونیم به راحتی با اکستنشن داخلی `MySQLi` به دیتابیس وصل بشیم.

api.php
<?php
header("Content-Type: application/json; charset=UTF-8");

$conn = new mysqli("localhost", "root", "", "my_blog");

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

$result = $conn->query("SELECT id, title FROM posts");

$posts = [];
while($row = $result->fetch_assoc()) {
    $posts[] = $row;
}

echo json_encode($posts);

$conn->close();
?>