در این آموزش php , قصد داریم به شما نحوه Import فایل SQL به دیتابیس را توسط برنامه نویسی php نشان بدیم.
Import فایل SQL یا (وارد کردن فایل sql دیتابیس) با استفاده از برنامه نویسی در زمانی که نیاز به ایجاد داینامیک ساختار دیتابیس را داریم, می تواند بسیار مفید باشد.
برای مثال, اگر شما یک اپلیکیشن یا پلاگین را برای دانلود و نصب بصورت آنلاین ارایه می دهید, فایل داینامیک SQL برای نصب دیتابیس اپلیکیشن مورد نظر همزمان با نصب خود اپ یا پلاگین مورد استفاده قرار می گیرد.
در این مثال, ما یک فایل SQL برای ساخت جدول contact و قراردادن (insert
) داده ها داریم. کد PHP ما خط به خط فایل SQL را پردازش و دستورات کویری را برای اجرا کردن آن توسط تابع MySQL در PHP استخراج می کند
کد PHP برای ایمپورت SQL
کد PHP زیر برای import فایل SQL به داخل دیتابیس mysql استفاده شده است.
این اسکریپت Import فایل SQL با PHP محتویات فایل را استخراج شده را در آرایه ای از خط ها توسط تابع file()
در PHP قرار می دهد. این آرایه در یک حلقه foreach
برای ساختن کویری با حذف اکمنت ها و خط های خالی, تکرار می شود.
شرط ما چک می کند که خط شامل علامت هایی مثل جدا کننده است یا خیر. اگر بله, که حلقه تکرار فعلی را رد و وارد تکرار بعدی می شود.به همین طریق ادامه می دهد تا به عبارت “end of query” برسد. همینکه این عبارت پیدا شد, کویری اجرا می شود.
سپس متغییر نگهدارنده کویری قبل از شروع تکرار بعدی reset می شود.
کد کامل و نهایی Import فایل SQL با PHP بصورت زیر است :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php $conn =new mysqli('localhost', 'root', '' , 'blog_samples'); $query = ''; $sqlScript = file('database-script.sql'); foreach ($sqlScript as $line) { $startWith = substr(trim($line), 0 ,2); $endWith = substr(trim($line), -1 ,1); if (empty($line) || $startWith == '--' || $startWith == '/*' || $startWith == '//') { continue; } $query = $query . $line; if ($endWith == ';') { mysqli_query($conn,$query) or die('<div class="error-response sql-import-response">Problem in executing the SQL query <b>' . $query. '</b></div>'); $query= ''; } } echo '<div class="success-response sql-import-response">SQL file imported successfully</div>'; ?> |
جمع بندی
همانطور که دیدید خواندن فایل SQL و اجرا کویری های داخل آن به منظور ایجاد و قرار دادن داده ها داخل دیتابیس چقدر ساده می باشد. از این روش می تواند برای استفاده در نصب آسان اسکریپت هایی که می نویسید استفاده کنید تا کار را اتوماتیک و ساده تر کنید تا نیازی نباشد کاربر فایل SQL را بصورت جداگانه در دیتابیسی که ساخته است import کند.
مطمینا با استفاده از آموزش Import فایل SQL با PHP و کد نمونه ای که معرفی شد می توانید بسته های نصبی که می سازید را خیلی حرفه ای تر کنید و به افزایش امتیاز UX اپ خود اضافه کنید.
امیدوارم از آموزش Import فایل SQL با PHP نهایت استفاده را برده باشید.
برای دانلود سورس کد + فایل SQL دیتابیس نمونه از باکس دانلود استفاده کنید.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق و پیروز باشید.
سلام آقا حسن خیلی عالیه کدتون ولی ممکنه یکم بیشتر توضیح بدید در مورد با آموزش بالا خیلی ممنون میشم ازتون خیلی ممنون و مچکر
سلام. خوشحالیم که مفید واقع شده
خط به خط مقادیر فایل sql رو خوانده و با تابع mysqli_query اجرا میکنه همین
توی شرط دومی گفته شده فقط خطوطی که آخرشون سمیکالن دارن باید import بشن درسته؟
بله چون دستوراتی مثل insert ممکن است چندین خط باشند
دمت گرم دادش همیشه عالی هستی .
داداش چند تا سایت که بی دردسر و رایگان آزمون php بگیره و نمونه سوال php داشته باشه سراغ نداری ؟ که خودمونو بسنجیم و تعیین سطح کنیم.
سلام . ممنون و خوشجالم که مفید واقع شده.
سایت های زیادی وجود داره که به همراه آموزش آنلاین برای رفتن به قسمت بعدی به شما یه سری تمرین آنلاین میدن که با کد زدن صحیح میتونید بقیه آموزش رو پیش برید مثل خان آکادمی و …
سایت های دیگه ای هم هستند که در قالب سوالات شفاهی (درک مفاهیم)
https://www.w3schools.com/quiztest/quiztest.asp?qtest=PHP
و یا تمرین ها می تونید مهارت خودتون رو بسنجید
http://www.pskills.org/php.jsp
کافیه سرچ انگلیسی انجام بدید تا سایت مناسب رو پیدا کنید
موفق باشید.