وب سایت عباس باقری

وب سایت شخصی عباس باقریوب سایت شخصی عباس باقری

چگونه در nextjs از پایگاه داده mysql استفاده کنیم؟

زمان مطالعه : 1 دقیقه

در این پست نحوه اتصال nextjs به دیتابیس mysql را بررسی میکنیم.

برای اتصال به دیتابیس نیازی به دیگر فریمورکها یا زبانهای برنامه‌نویسی سمت سرور مانند nodejs و php نیست.

ایجاد سرور mysql

ابتدا یک سرور mysql راه‌اندازی و دیتابیس خود را به آن اضافه میکنیم: در این مثال من از نرم‌افزار xampp استفاده کردم. دیتابیس mysql را میتوان به روشهای دیگری مانند نصب مستقیم یا استفاده از داکر هم راه‌اندازی کرد.

نصب کتابخانه serverless-mysql

برای شروع استفاده از mysql در nextjs ابتدا باید کتابخانه‌ای مانند serverless-mysql را نصب کنیم :

npm install serverless-mysql

معرفی کانفیگ mysql

فایل db.js را به سورس پروژه nextjs خود اضافه می‌کنیم:

import mysql from "serverless-mysql";

const db = mysql({
   config: {
      host: "localhost",
      port: "3306",
      database: "jabira",
      user: "root",
      password: "",
   }
});

export default async function excuteQuery({ query, values }) {
   try {
      const results = await db.query(query, values);
      await db.end();
     return results;
   } catch (error) {
      return { error };
   }
}

تابع executeQuery به ما کمک میکند بتوانیم کوئری های sql مورد نیاز خود را اجرا کنیم.

گرفتن دیتا در page.js

اکنون به سراغ فایل page.js خود رفته و از تابع executeQuery برای ارسال درخواست به پایگاه داده استفاده می‌کنیم :

import excuteQuery from &quot@/db"

export default async function Home() {
   const result = await excuteQuery({
      query: "SELECT * FROM `pages`;",
      values: [],
   });
   return ( <Component dbData={result}  />)
}

برای اطلاعات بیشتر می‌توانید از این لینک استفاده کنید