PDA

View Full Version : سوال: import دیتابیس توسط کاربر



.fatemeh
دوشنبه 25 فروردین 1393, 15:49 عصر
سلام
در مدیریت قسمتی قرار دادم که مدیر خودش بتونه از اطلاعات backup تهیه کنه.
خوب اینکار انجام می شه و یه فایل متنی با پسوند sql. ایجاد میشه.
الان دوتا مشکل دارم:
1- هنگامی که روی کلید پشتیبان گیری کلیک می شه پنجره دانلود باز میشه ، حالا این مدیر سایت میگه من متوجه نمیشم کجا ریخته میشه میگه پنجره save as باز بشه (البته این مشکل اصلی نیست نتونم حلش کنم نهایتا یادش می دم)
2- می خواد خودش بتونه به سبک نرم افزارها import کنه.
ولی این خطا رو میده:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' CREATE TABLE IF NOT EXISTS `category` ( `id_c` int(11) NOT NULL AUTO_I' at line 1

ولی همون فایل رو وقتی به صورت دستی از import ، phpmyadmin می کنم مشکلی نداره
اینم کدی که استفاده کردم.

<?php
define('NAME', 'dbname');
$conn=mysql_connect('localhost','root','') or die('دسترسی به بانک اطلاعات امکان پذیر نمی باشد');;
$db=mysql_select_db(NAME);
$query = file_get_contents(NAME.'.sql');
mysql_query($query) or die(mysql_error());
mysql_select_db(NAME);
?>
/* کد از این لینک هست (http://barnamenevis.org/showthread.php?382450-%D9%86%D8%B5%D8%A8-%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7%D9%86%DA%A9-%D9%88-%D8%AC%D8%AF%D8%A7%D9%88%D9%84-%D8%AF%D8%B1-%D9%87%D8%A7%D8%B3%D8%AA-%28%D8%AD%D9%84-%D8%B4%D8%AF%29) */
نمی دونم آخه مشکلش چیه؟فایل export خود mysql هست منم که کاریش نکردم پس چرا قبول نمکنه:متفکر:

.fatemeh
دوشنبه 25 فروردین 1393, 16:15 عصر
مشکل دوم حل شد
برای دوستانی که ممکنه به مشکل من برخورد کنن.
از این لینک استفاده کردم (http://www.php-jquery.ir/13896/import-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3)
برای مشکل اول نظری ندارید؟

MRmoon
دوشنبه 25 فروردین 1393, 16:22 عصر
شما نمیتونین چند تا کویری رو هم زمان به mysql_query پاس بدین!!!

باید اینجوری عمل کنین:


<?PHP

define('NAME', 'dbname');
$conn = mysql_connect('localhost', 'root', '') or die('دسترسی به بانک اطلاعات امکان پذیر نمی باشد');;
$db = mysql_select_db(NAME);
$query = file_get_contents(NAME . '.sql');
foreach (explode(';', $query) as $q) {
if(empty($q)) {
continue;
}
mysql_query($q) or die(mysql_error());
}

mysql_select_db(NAME);

refugee
دوشنبه 25 فروردین 1393, 17:17 عصر
چرا از خود phpmysql استفاده نمیکنه ؟ برای ایمپورت و اکسپورت