آموزش اتصال به دیتابیس Mysql در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش اتصال به دیتابیس Mysql در برنامه نویسی اندروید می پردازیم در این آموزش یاد می گیرد چه گونه دیتابیس ایجاد کنید و به آن متصل شویم و در نهایت آنها را بخوانیم برای اینکه به آن متصل شویم به صورت معمول امکان پذیر نیست پس ما باید از یک واسط استفاده کنیم در ادامه با ما همراه باشید.
ابتدا کار ما باید یک دیتابیس ایجاد کنیم (این دیتابیس می تواند بروی سرور های مختلف توسط phpmyadmin ایجاد شود یا در صورتی که شما سرور دارید که بروی آن DirectAdmin یا Cpanel نصب شده است می توانید از طریق Wizard آن را ایجاد کنید) در اینجا چون افراد زیادی سرور شخصی ندارند ما این آموزش را با استفاده از xampp پیش می بریم پس پیش نیاز این آموزش نصب کردن xampp یا wamp یا مجازی ساز های از این دسته هستند پس ابتدای کار xampp را اجرا کنید و دو سرویس Apache و Mysql را اجرا کنید همانند شکل زیر.
سپس در بخش Mysql بروی Admin کلیک کنید سپس Phpmyadmin برای شما باز خواهد شد در سمت چپ صفحه بروی new کلیک کنید.
سپس نام آن را در فیلد مورد نظر قرار داده و بروی Create کلیک کنید. تا اینجا یک دیتابیس خالی برای ما ایجاد شده است.
فعلا تا همین جا کافی است بر می گردیم به کد های مربوط به اتصال به دیتابیس
ابتدا یک فایل php در مسیر زیر ایجاد کنید نام فایل را برابر با db_config.php قرار دهید.
1 | C:\xampp\htdocs |
این مسیر نصبی xampp است در صورتی که آن را در جای دیگر نصب کرده باشید ممکن است فرق کند.
بعد از اینکه فایل را ایجاد کردید کد های زیر را در آن قرار دهید.
1 2 3 4 5 6 | <?php define('DB_USER', "root"); define('DB_PASSWORD', ""); define('DB_DATABASE', "programchi"); define('DB_SERVER', "localhost"); ?> |
دوستانی که بروی xampp دارن کار می کنن
DB_USER : می شود نام یوزر ما (که ما در xampp چیزی نساختیم و از Deafult آن که root باشد استفاده کردیم) دوستانی که بروی وب سرور کار می کنند باید نام یوزر خود را قرار دهند.
DB_PASSWORD : پسور مربوط به آن یوزر که در اینجا نباید چیزی در آن قرار دهید ولی در وب سرور پسوردی که برای یوزر خودتان قرار داده اید را در اینجا باید وارد کنید.
DB_DATABASE : نام دیتابیس که ما آن را برابر با programchi قرار دادیم.
DB_SERVER : ایپی ادرس یا به طور معمول در xampp و وب سرور localhost قرار می گیرد.
همانطور که معلوم شد اینها اطالاعاتی هستند که در اتصال به دیتابیس به ما کمک خواهند کرد.
حالا باید یک فایل php ایجاد کنیم تا این connection را بررسی کند که آیا مقدار هایی که شما وارد کردید درست است یا نه پس یک فایل دیگر به نام db_connect.php در همان بخش قبلی درست می کنیم سپس کد زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php class DB_CONNECT { function __construct() { $this->connect(); } function __destruct() { $this->close(); } function connect() { require_once __DIR__ . '/db_config.php'; $con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error()); $db = mysql_select_db(DB_DATABASE) or die(mysql_error()) or die(mysql_error()); return $con; } function close() { mysql_close(); } } ?> |
هر بالا ما دو void اصلی داریم اولی یا connect بررسی می کند که آیا اطلاعات سرور درست است یا خیر از require برای انتقال داده ها از فایل db_config به db_connect استفاده شده است. و void دوم ما یا close برای بستن connection استفاده می شود.
حالا یک فایل به نام checkConnection.php ایجاد کنید و کد زیر را قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 | <?php require_once __DIR__ . '/db_connect.php'; $db = new DB_CONNECT(); if($db) { echo "Connected successfully"; } else { echo "Error Occuerd"; } ?> |
حالا در صورتی که درست کار ها را انجام داده باشید. پیام sucess و در غیر این صورت Error چاپ می شود.
حالا url زیر را در مرورگر خود باز کنید.
1 | localhost/checkConnection.php |
در مرحله بعد کد های مربوط به جاوا را خواهیم گذاشت.
موفق و موید باشید.
بسیار عالی بود،خدا قوت
medoo هم یاد بدید خیلی خوبه ، خیلی سریع هستش و از SQL injection هم جلوگیری می کنه
قرار خواهیم داد sql injection در صورتی که پورت 3840 باز باشد اتفاق می افتاد موفق باشید.
باسلام
ممنون از پست خوبتون.
سلام خواهش می کنم
با سلام و تشکر از سایت بسیار خوبتون من موقع اجرا این ارور رو دریافت میکنم دلیلش چیه ؟ البته من خودم ی پروژه ساختم و فایلهارو درون آن ایجاد کردم
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in F:\XAMPP.7.1.2.Portable\xampp\htdocs\db_login_project\db_connect.php:15 Stack trace: #0 F:\XAMPP.7.1.2.Portable\xampp\htdocs\db_login_project\db_connect.php(6): DB_CONNECT->connect() #1 F:\XAMPP.7.1.2.Portable\xampp\htdocs\db_login_project\checkConnection.php(5): DB_CONNECT->__construct() #2 {main} thrown in F:\XAMPP.7.1.2.Portable\xampp\htdocs\db_login_project\db_connect.php on line 15
مشکل شما در اتصال به دیتابیس است و فکر می کنم xampp شما به درستی فعال نشده است.
چرا زمپ بدرستی فعال شده فک کنم چون قبل از کدها متنی که مینویسم رو چاپ میکنه مثلا اینجا کلمه test رو بدرستی چاپ کرد
tesssssssssssstttttttttt
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in F:\XAMPP.7.1.2.Portable\xampp\htdocs\db_login_project\db_connect.php:15 Stack trace: #0 F:\XAMPP.7.1.2.Portable\xampp\htdocs\db_login_project\db_connect.php(6): DB_CONNECT->connect() #1 F:\XAMPP.7.1.2.Portable\xampp\htdocs\db_login_project\checkConnection.php(7): DB_CONNECT->__construct() #2 {main} thrown in F:\XAMPP.7.1.2.Portable\xampp\htdocs\db_login_project\db_connect.php on line 15
باید از آموزش یک تا پنج استفاده کنید وارد آدرس زیر شوید تمامی آموزش ها را خواهید دید مطمئنم بخشی از کد را اشتباده تعریف کرده اید یا نام فایل ها را اشتباه قرار داده اید در صورتی که درپوشه خاصی تمامی آنها را قرار داده اید باید خط زیر را نیز تغییر دهید
شما یک پوشه به نام db_login_project ایجاد کردید در بالا ست شده است تا در روت پروژه به db_config متصل شود (منظور اتصال نیست دیتا ها در یک فایل php دیگر لود شود ) باید مسیر را همانند زیر تغییر دهید.
موفق باشید.
من هم همین مشکل را دارم. پوشه و آدرس ها رو هم تغییر دادم اما باز هم همین ارور را دارم!
تشکر از توضیحات و راهنمایی ها یک فایل php رو چجوری بدون ساخت پروژه میشه ایجاد کرد؟ من از phpstorm استفاده میکنم ولی بدون ساخت پروژه امکان ساخت فایل php رو ندارم
باید حتما یک پروژه بسازید تا در آن فایل php درست کنید ولی میشه هینطوری هم یک فایل php ایجاد کرد مشکلی ندارد از منوی File گزینه new File رو بزنید.
موفق باشید.
باعرض سلام خدمت شما. ضمن تشکر از مطال بسیار ارزنده ی شما.
می خواستم بدونم برنامه ای برای آموزش زبان کوتلین به صورت جامع و کامل ندارید؟
مثلا نحوه ی ارتباط با سرور در زبان برنامه نویسی کولتین ؟
باتشکر.
سلام خسته نباشید بنده سورس اپلیکیشن شیپور رو خریداری کردم که داخلش سه تا پوشه هستش اولیش برای برنامه نویسی اندریده و بعدیش برای زبان php هستش و بعدش دیتابیس هستش این ها رو چه جوری با هم متصل کنم و خروجی بگیرم.
سلام شما باید آموزش مربوط به آن را نیز می خرید اگر سمت سرور و اپ اندروید کار نکرده اید.
موفق باشید.