Import на DB

nvidia

Registered
Soul_Stealler каза:
Как мога да импортна цялото DB (на форум) чрез php скрипт ? :roll:
Влез в phpmyadmin-а и дай експорт .
Ще ти даде един огромен код.( може и като SQL файл )
Този огромен код е една обикновенна заявка за създаване на огледално копие на твоqта база данни.

Просто трябvа да я изпълни като заявка и готоvо.Мога да се пробвам да дам пример.
 

Soul_Stealler

Registered
Еми, аз всичко това го правя. Правя export, но после искам вместо ръчно да го вкарам с php скрипт. А с моя скрипт постоянно ми дава някакви грешки в заявката... :shock:
 

nvidia

Registered
$dbfile="sadarvanieto na faila";//tuka moze da ima problem s kavickite
mysql_query($dbfile);

Nesto takova.
 

Soul_Stealler

Registered
До колкото помня беше: Да проверя синтаксиса дали става за моята версия на MySQL... и ми даде че грешката е близо до CREATE TABLE ... а то това беше на 1ви ред
 

Doris

Registered
Възможно е да стане с РНР, но е доста сложно.
Аз сега разучавам osComerce, система за правене на сайтове. Там се иска да създадеш базата данни с името на потребител и парола. След това със специално написана функция изпълняват sql файл, който създава таблиците и въвежда тяхното съдържание. Тази функция първо отваря файла, после го прави на масив и накрая го изпълнява.
Sql файл може да се изпълни и по-лесно,
виж и темата:
http://web-tourist.net/forum/viewtopic.php?t=2709
 

Soul_Stealler

Registered
Проблема е че искам да се изпълнява с пхп за да мога да я сложа в инстала на Smooth Board Forums, защото е неудобно като искаш да си инсталираш форума ръчно да я вкарваш в DB то :)
 

Slavei

Registered
Soul_Stealler каза:
Проблема е че искам да се изпълнява с пхп за да мога да я сложа в инстала на Smooth Board Forums, защото е неудобно като искаш да си инсталираш форума ръчно да я вкарваш в DB то :)

Предполагам, че си търсил, но все пак прегледай резултатите:
http://www.google.bg/search?hl=bg&q="import+sql"+file+php&btnG=Търси&meta=
 

Soul_Stealler

Registered
Не се бях сетил да търся точно тези думи. Намерих един код но и той нещо неще да работи:
Код:
print '<pre>';
$file = "sbfinstall.sql";

function mysql_import($dbuser, $dbpass, $dbname, $file) {
if (!is_file($file))
die("$file does not exist");

return shell_exec("mysql -u$dbuser -p$dbpass $dbname < $file");
}

var_dump(mysql_import($dbuser, $dbpass, $dbname, $file));

Най накрая ще взема да видя инстала на phpbb :lol:
 

Slavei

Registered
Soul_Stealler каза:
Не се бях сетил да търся точно тези думи. Намерих един код но и той нещо неще да работи:
Код:
print '<pre>';
$file = "sbfinstall.sql";

function mysql_import($dbuser, $dbpass, $dbname, $file) {
if (!is_file($file))
die("$file does not exist");

return shell_exec("mysql -u$dbuser -p$dbpass $dbname < $file");
}

var_dump(mysql_import($dbuser, $dbpass, $dbname, $file));

Най накрая ще взема да видя инстала на phpbb :lol:

какво ти дава като грешка?

ами така като гледам от това, което си дал интересното за теб е:
shell_exec("mysql -u$dbuser -p$dbpass $dbname < $file")
на пръв поглед са пропуснати няколко интервали:
shell_exec("mysql -u $dbuser -p $dbpass $dbname < $file")
инфо за shell_exec можеш да прочетеш тук:
http://bg2.php.net/shell_exec
само ми е любопитно дали е разрешено изпълнението на команди чрез нея...

лека нощ
 

Soul_Stealler

Registered
Ами ... проблема е че не дава грешка. Всъщност нищо не ми дава.
Нищо не импортва и в БД-то.

EDIT..//
Сега като сложих интервалите пак нищо не импортва но най-горе в ляво на страницата пише: string(0) ""
 

Slavei

Registered
Soul_Stealler каза:
Ами ... проблема е че не дава грешка. Всъщност нищо не ми дава.
Нищо не импортва и в БД-то.

о ама ти си бил онлайн... едитнах си горното мнение, погледни го.
не съм гледал целият код, но щом не ти дава нищо, сигурен ли си че изпълняваш функцията mysql_import ?
 

hrischo

Registered
ето:

<?
$user="user";
$password="pass";
$database="db";

mysql_connect(localhost,$user,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="CREATE TABLE `demos` (
`ID` int(11) NOT NULL auto_increment,
`map` varchar(255) default NULL,
`time` varchar(5) default NULL,
`jumper` varchar(15) default NULL,
`fps` varchar(5) default NULL,
`file` varchar(255) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=177 ;
";


mysql_query($query);
mysql_close();
echo "Заявката е изпълнена успешно";
?>


сложи твоята заявка и кажи дали е станало :wink:
 

Soul_Stealler

Registered
Ами, тъй като не стана сложих най-долу or die(mysql_error()) и ми показа това:
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 '; -- -- Dumping data for table `config` -- INSERT INTO
 

hrischo

Registered
Soul_Stealler каза:
Ами, тъй като не стана сложих най-долу or die(mysql_error()) и ми показа това:
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 '; -- -- Dumping data for table `config` -- INSERT INTO
я пробвай това :

<?
$user="user";
$password="pass";
$database="db";

mysql_connect(localhost,$user,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="CREATE TABLE `demos` (
`ID` int(11) NOT NULL auto_increment,
`map` varchar(255) default NULL,
`time` varchar(5) default NULL,
`jumper` varchar(15) default NULL,
`fps` varchar(5) default NULL,
`file` varchar(255) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=177 ;
";

$result=mysql_query($query);

if ($result)
echo "Table was successfully created!";
else
echo mysql_errno().": ".mysql_error()."<BR>";
mysql_close ();
?>

току що го пробвах и работи,ако има грешка ще ти я изкара...
 

Doris

Registered
Soul_Stealler каза:
Ами, тъй като не стана сложих най-долу or die(mysql_error()) и ми показа това:
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 '; -- -- Dumping data for table `config` -- INSERT INTO

Трябва да провериш за грешки в sql файла.
 

Горе