Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] nieprawidowy zrzut z phpmyadmina
Forum PHP.pl > Forum > Przedszkole
Athlan
Zrzuciłem sobie część bazy z systemu WordPress i wyszło takie coś:

  1. CREATE TABLE `wp_categories` (
  2. `cat_ID` bigint(20) NOT NULL AUTO_INCREMENT,
  3. `cat_name` varchar(55) NOT NULL DEFAULT '',
  4. `category_nicename` varchar(200) NOT NULL DEFAULT '',
  5. `category_description` longtext NOT NULL,
  6. `category_parent` bigint(20) NOT NULL DEFAULT '0',
  7. `category_count` bigint(20) NOT NULL DEFAULT '0',
  8. PRIMARY KEY (`cat_ID`),
  9. KEY `category_nicename` (`category_nicename`)
  10. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
  11.  
  12. INSERT INTO `wp_categories` VALUES (1, 'Uncategorized', 'uncategorized', '', 0, 1);


jak wklejam to sobie do phpmyadmina to wszystko pięknie, ładnie się robi, ale chciałbym zrobić to z poziomu strony:

  1. <?php
  2.  
  3. mysql_connect('localhost','root','');
  4.  
  5. $query = "
  6. CREATE TABLE `wp_categories` (
  7. `cat_ID` bigint(20) NOT NULL auto_increment,
  8. `cat_name` varchar(55) NOT NULL default '',
  9. `category_nicename` varchar(200) NOT NULL default '',
  10. `category_description` longtext NOT NULL,
  11. `category_parent` bigint(20) NOT NULL default '0',
  12. `category_count` bigint(20) NOT NULL default '0',
  13. PRIMARY KEY (`cat_ID`),
  14. KEY `category_nicename` (`category_nicename`)
  15. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
  16.  
  17. INSERT INTO `wp_categories` VALUES (1, 'Uncategorized', 'uncategorized', '', 0, 1);
  18. ";
  19.  
  20. mysql_query($query) or die(mysql_error());
  21.  
  22. ?>


zpaytanie jest identyczne smile.gif

ale mysql_erroo() zwraca takie coś:

Cytat
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 '; INSERT INTO `wp_categories` VALUES ( 1, 'Uncategorized', 'uncategorized', '' at line 10


jak dla mnie to bardzo dziwne smile.gif

co mam zrobić?
nospor
mysql_query() pozwala na wykonanie tylko jednego zapytania. chcesz wykonac wiecej - musisz kazde wykonac oddzielnie.
Cysiaczek
Spróbuj wywalic DEFAULT CHARSET. Tez coś podobnego kiedyś miałem.

Wycofuję powyższe zdanie. Dotyczy ono właśnie importowania bazy do/z phpMyAdmina, a nie poprzez własny skrypt php.
Athlan
Cytat(nospor @ 4.07.2006, 12:06 ) *
mysql_query() pozwala na wykonanie tylko jednego zapytania. chcesz wykonac wiecej - musisz kazde wykonac oddzielnie.


czyli string $query mam explode znak ";" i w foreach dać mysql_query?

będzie dobre rozwiązanie?

pozdro smile.gif
nospor
no jesli z palca ci bedzie ciezko podzielic, no to pewnie tak
tylko zebys sie nie zdziwil jak w srodku zapytania pojawi się jakis srednik, wtedy ci troche narozrabia winksmiley.jpg
Athlan
nospor no właśnie... mam w środku pewnego zapytania (którego tu nie dałem) średnik... to może ja z palca zrobie tablice tongue.gif

chyba że macie jakieś inne pomysły ?

a jak to można obejść, że wykonuje się kilka zapytań?
nospor
jesli to są tylko te dwa zapytania, to rob z palca (poza tym nie widze tam srednika w srodku zapytania)

Kod
<?php
$query = "CREATE TABLE `wp_categories` (
  `cat_ID` bigint(20) NOT NULL auto_increment,
  `cat_name` varchar(55) NOT NULL default '',
  `category_nicename` varchar(200) NOT NULL default '',
  `category_description` longtext NOT NULL,
  `category_parent` bigint(20) NOT NULL default '0',
  `category_count` bigint(20) NOT NULL default '0',
  PRIMARY KEY  (`cat_ID`),
  KEY `category_nicename` (`category_nicename`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2";
mysql_query($query) or die(mysql_error());

$query = "INSERT INTO `wp_categories` VALUES (1, 'Uncategorized', 'uncategorized', '', 0, 1)";
mysql_query($query) or die(mysql_error());
?>
Athlan
Cytat(nospor @ 4.07.2006, 12:36 ) *
(poza tym nie widze tam srednika w srodku zapytania)


Cytat(Athlan @ 4.07.2006, 12:33 ) *
mam w środku pewnego zapytania (którego tu nie dałem)


smile.gif

no dobra zrobie od palca :/
nospor
trzeby bylo od razu pogrubic, to bym zauwazyl winksmiley.jpg

Wiesz, możesz rozbijac tez na przy pomocy wyrażen regularnych i leciec po slowach kluczowych, takich jak:insert, select, update itp.
Athlan
uuuu... to za dużo roboty tongue.gif

już wole raz zrobić każde coś tak:

mysql_query(ZAPYTANIE);

kicz z tym tongue.gif

pozdrawam smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.