در این مطلب قصد داریم نحوه اتصال ربات تلگرام به دیتابیس (پایگاه داده) را آموزش دهیم.
از آنجایی که بعضی از دوستان نحوه اتصال ربات تلگرام به دیتابیس و ذخیره اطلاعات کاربران رو از بنده خواسته بودن تصمیم گرفتم این مطلب رو توس سایت ارائه بدم تا همه عزیزان استفاده کنند.
خب در ابتدای کار باید بگم که طبق روند از آنجایی که در مورد اتصال حرف زده شده باید کدی بنویسیم که به پایگاه داده متصل بشیم تا بعدا بتونیم با اون اتصال اطلاعات کاربران رو توی دیتابیس ذخیره کنیم.
ابتدا میاییم یه فایل به نام db.php میسازیم و با کدهای زیر رو داخل این فایل قرار میدیم تا به فایل اصلی ربات تعریف کنیم که با استفاده از فایل db.php به دیتابیس متصل بشه :
<?php define('DB_NAME', ''); // نام پایگاه داده define('DB_USER', ''); // یوزرنیم پایگاه داده define('DB_PASSWORD', ''); // پسورد پایگاه داده define('DB_HOST', 'localhost'); // هاست نیم $connect = new mysqli(constant("DB_HOST"), constant("DB_USER"), constant("DB_PASSWORD"), constant("DB_NAME")); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } mysqli_set_charset($connect,'utf8'); ?>
خب حالا یه دیتابیس جدید توی هاست میسازیم و مقادیر رو در کدهای بالا اضافه میکنیم. همانطور که میبینید من اومدم تکه کد ” mysqli_set_charset ” هم به فایل اضافه کردم. این تکه کد میاد کاراکترهای مارو بصورت فارسی توی دیتابیس ذخیره میکنه تا حروف بصورت ناخوانا نباشه.
خب تا اینجای کار امیدوارم مطلب رو فهمیده باشید.
حالا باید بریم سراغ فایل اصلی ربات و فایل db.php رو داخلش فراخوانی کنیم. با استفاده از کد زیر فایل db.php رو توی فایل اصلی رباتمون فراخوانی میکنیم :
include_once('db.php');
خب حالا فایل اصلی ربات به دیتابیس متصل هست پس میریم سراغ ادامه کار :
برای اینکه مطلب قابل فهم باشه و زیاد طولانی نشه کار رو با یک مثال شروع میکنم.
فرض کنید میخواییم وقتی کاربری به ربات پیام /start رو ارسال کرد نام کاربر توی دیتابیس ذخیره بشه. پس ما ابتدا باید یخ جدول توی دیتابیس درست کنیم. من جدول رو از قبل نوشتم و واسه بقیه دوستان قرار میدم :
CREATE TABLE `users` ( `id` INT NOT NULL AUTO_INCREMENT , `name` varchar(160) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY ( `id` ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
این کد هارو باید توی فایل با پسوند .sql در دیتابیس ایمپورت کنید.
همونطور که میبینید یک قسمت به نام id و یک قسمت به نام name توی جدول مربوطه نوشتم که قسمت id بصورت خودکار از 1 شروع میشه و قسمت name هم قراره وقتی کاربری /start را ارسال کرد نام کاربر در این فیلد ذخیره بشه.
توجه : برای اینکه آموزش زیاد طولانی نشه توی این مطلب نحوه نوشتن ربات رو قرار نمیدم فقط طریقه افزودن مقادیر به دیتابیس هست.
تکه کد زیر میاد توسط ربات نام کاربر رو میگیره :
$from_first = $update->message->from->first_name;
خب همانطور که میبینید نام کاربر با استفاده از کد from_first$ گرفته میشه \س با همین کد اطاعات رو به دیتابیس ارسال میکنیم :
mysqli_query($connect,"INSERT INTO `users` VALUES ('', '$from_first')");
خب این کد رو هم باید جایی بزارید که طبق خواسته خودتون کاربر چه کلمه ای رو ارسال کنه تا نام کاربر در دیتابیس ذخیره بشه. همانطور که گفتم من فرض میکنم کاربر متن /start رو ارسال کرد اطلاعات ذخیره بشه، پس کد بالا رو بصورت زیر تکمیل میکنم :
$text = $message->text; if($text == "/start"){ mysqli_query($connect,"INSERT INTO `users` VALUES ('', '$from_first')"); }
امیدوارم از آموزش “نحوه اتصال ربات تلگرام به دیتابیس” استفاده کرده باشید.
سلام خسته نباشید.اگه امکانش هست. یه سورس بزارین که با دیتابیس باشه مث سورس شماره مجازی …..و اموزش اتصالشو مرحله به مرحله توضیح بدین ممنون
سلام
در اسرع وقت آموزش رو قرار میدیم.