Autorius Tema: MySQL lenteliu sukurimas is puslapio puses  (Skaityta 1817 kartus)

Neprisijungęs zmak

  • Naujokas
  • *
  • Įrašai: 177
  • Karma: +1/-0
    • Žiūrėti profilį
MySQL lenteliu sukurimas is puslapio puses
« Įrašytas: 2011-11-03 19:59:48 pm »
Darau lenteliu sukurimo faila, ir per MySQL nuejau i exportavima, ir exportavau ne i faila bet kad teksta duodu, imeciau i php, ir kai siunciu uzklausa i mysql gauni tokia klaida:
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 `nera_adresai` ( `id` int(3), `rodymas` int(1), ' at line 3

Kodas:

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

CREATE TABLE IF NOT EXISTS `nera_adresai` (
  `id` int(3) NOT NULL,
  `rodymas` int(1) NOT NULL,
  `adresas` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  `pavadinimas` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_lithuanian_ci;

P.S. cia ne viska kopinau nes ten pakankamai dauk eiluciu, o error tik cia

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7284
  • Karma: +221/-15
    • Žiūrėti profilį
    • mano CV
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #1 Įrašytas: 2011-11-03 22:02:11 pm »
php kode pries paleisdamas sql uzklausa, pabandyk ja atspausdinti ir pakopines ideti i phpmyadmin ir tada paziurek ar veikia ar ne
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs zmak

  • Naujokas
  • *
  • Įrašai: 177
  • Karma: +1/-0
    • Žiūrėti profilį
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #2 Įrašytas: 2011-11-04 10:07:38 am »
Na as visa ta koda idejas i heredoc kaip kintamaji $lenteles, ir kai darau echo $lenteles; ir ta koda ikopinu i sql tai viskas veikia sukuria man, o kai per php ne...
mysql_query($lenteles) or die(mysql_error());Gal sakau cia kas blogai...

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7284
  • Karma: +221/-15
    • Žiūrėti profilį
    • mano CV
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #3 Įrašytas: 2011-11-04 15:57:23 pm »
sita eilute tai tikrai atrodo gerai, kazkur klaida auksciau.
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Manualai.lt Forumas

Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #3 Įrašytas: 2011-11-04 15:57:23 pm »

Neprisijungęs zmak

  • Naujokas
  • *
  • Įrašai: 177
  • Karma: +1/-0
    • Žiūrėti profilį
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #4 Įrašytas: 2011-11-04 17:07:26 pm »
Gal visdelto imetu visa koda:
$lenteles = <<<lenteles
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

CREATE TABLE IF NOT EXISTS `nera_adresai` (
  `id` int(3) NOT NULL,
  `rodymas` int(1) NOT NULL,
  `adresas` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  `pavadinimas` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_lithuanian_ci;

INSERT INTO `nera_adresai` (`id`, `rodymas`, `adresas`, `pavadinimas`) VALUES
(1, 1, '/index.php', 'Pagrindinis');


CREATE TABLE IF NOT EXISTS `nera_informacija` (
  `elementas` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  `reiksme` text collate utf8_lithuanian_ci NOT NULL,
  PRIMARY KEY  (`elementas`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_lithuanian_ci;

INSERT INTO `nera_informacija` (`elementas`, `reiksme`) VALUES
('title', 'Micro tvs'),
('koduote', 'UTF-8'),
('pastas', '-'),
('tema', 'test'),
('description', 'MicroTVS'),
('keywords', 'micro,tvs,microtvs'),
('ijunktas', '0'),
('isjunktas_zinute', '<p>Puslapis laikinai tvarkomas.</p>');


CREATE TABLE IF NOT EXISTS `nera_naujienos` (
  `id` int(5) NOT NULL auto_increment,
  `autorius` int(5) NOT NULL,
  `pavadinimas` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  `pradzia` text collate utf8_lithuanian_ci NOT NULL,
  `galas` text collate utf8_lithuanian_ci NOT NULL,
  `data` datetime NOT NULL,
  `redagavo` int(5) NOT NULL default '0',
  `kada` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_lithuanian_ci AUTO_INCREMENT=0 ;


CREATE TABLE IF NOT EXISTS `nera_paneles` (
  `id` int(3) NOT NULL,
  `lygis` int(2) NOT NULL,
  `rodymas` int(1) NOT NULL,
  `vieta` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  `pavadinimas` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  `turinys` text collate utf8_lithuanian_ci NOT NULL,
  PRIMARY KEY  (`id`,`lygis`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_lithuanian_ci;

INSERT INTO `nera_paneles` (`id`, `lygis`, `rodymas`, `vieta`, `pavadinimas`, `turinys`) VALUES
(1, 1, 1, 'vartotojas', 'Vartotojo panele', '');


CREATE TABLE IF NOT EXISTS `nera_pridetiniai` (
  `pavadinimas` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  `text` text collate utf8_lithuanian_ci NOT NULL,
  PRIMARY KEY  (`pavadinimas`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_lithuanian_ci;


CREATE TABLE IF NOT EXISTS `nera_priminimas` (
  `sifras` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  `nikas` int(6) NOT NULL,
  `data` datetime NOT NULL,
  `panaudota` int(1) NOT NULL,
  PRIMARY KEY  (`sifras`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_lithuanian_ci;


CREATE TABLE IF NOT EXISTS `nera_sesija` (
  `ip` varchar(15) collate utf8_lithuanian_ci NOT NULL,
  `vartotojas` int(5) NOT NULL,
  `pasibaigs` datetime NOT NULL,
  PRIMARY KEY  (`ip`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_lithuanian_ci;


CREATE TABLE IF NOT EXISTS `nera_vartotojai` (
  `id` int(5) NOT NULL auto_increment,
  `nikas` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  `passwordas` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  `data` datetime NOT NULL,
  `emeil` varchar(255) collate utf8_lithuanian_ci NOT NULL,
  `privilegijos` int(1) NOT NULL,
  `raide` varchar(1) collate utf8_lithuanian_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_lithuanian_ci AUTO_INCREMENT=0 ;
lenteles;
mysql_query($lenteles) or die(mysql_error());

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7284
  • Karma: +221/-15
    • Žiūrėti profilį
    • mano CV
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #5 Įrašytas: 2011-11-04 20:06:42 pm »
niekad nedariau tokios vietos su heredocais, todel nezinau jo veikimo subtilybiu, tikriausiai jis grazina kazkoki kiek kitoki teksta, nei tu tikiesi ir tada duombaze streika kelia. Pabandyk toki:

if(is_string($lenteles)){
 print 'taip, cia stringas';
}

dar gali bandyt taip:

mysql_query(mysql_real_escape_string ($lenteles)) or die(mysql_error());
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs zmak

  • Naujokas
  • *
  • Įrašai: 177
  • Karma: +1/-0
    • Žiūrėti profilį
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #6 Įrašytas: 2011-11-04 20:42:02 pm »
Tas tikrinimas ar string tai suveike tipo stringas, kai imeciau per
mysql_query(mysql_real_escape_string ($lenteles)) or die(mysql_error())
gavau va ka :
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 '\"NO_AUTO_VALUE_ON_ZERO\";\n\nCREATE TABLE IF NOT EXISTS `nera_adresai` (\n `id' at line 1
Poto pabandziau vietoj heredoc tiesiog i " ideti, tai gavau ta pati error kaip ir is pradziu...

EDIT:
gali buti kad per dauk kodo duodu is karto? nes jeigu tik ta viena lentele kuriu tai viskas gerai, jokiu error nera, bet jeigu tik viska dedu iskarto tas error, pabandysiu po 1-2 lenteles kurti, gal veiks.
« Paskutinį kartą keitė: 2011-11-04 20:46:57 pm sukūrė zmak »

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7284
  • Karma: +221/-15
    • Žiūrėti profilį
    • mano CV
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #7 Įrašytas: 2011-11-04 20:46:27 pm »
pabandyk be heredocu ir be mysql_real_escape_string
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs zmak

  • Naujokas
  • *
  • Įrašai: 177
  • Karma: +1/-0
    • Žiūrėti profilį
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #8 Įrašytas: 2011-11-04 20:49:50 pm »
Padariau isvada: Per php kai duodi usklausa, turi pvz Insert, Create ir t.t. kiekviena duodi atskira uzklausa, kitaip gauni error...

EDIT:
Viska isskaidziau, padariau 11 uzklausu... nelabai optimizalu, bet kitaip neina.
Gali rakint tema jau.
« Paskutinį kartą keitė: 2011-11-04 20:56:50 pm sukūrė zmak »

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7284
  • Karma: +221/-15
    • Žiūrėti profilį
    • mano CV
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #9 Įrašytas: 2011-11-05 12:23:37 pm »
tai gali surasyti visa sql koda kaip viena, tada isskaidyti per ; ir pasiusti per cikla uzklausas ;]
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs zmak

  • Naujokas
  • *
  • Įrašai: 177
  • Karma: +1/-0
    • Žiūrėti profilį
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #10 Įrašytas: 2011-11-06 10:12:01 am »
tai gali surasyti visa sql koda kaip viena, tada isskaidyti per ; ir pasiusti per cikla uzklausas ;]

as padariau kiek kitaip, viska suskaidziau i array, poto suskaiciavau kiek ju yra ir paleidau for cikla.

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7284
  • Karma: +221/-15
    • Žiūrėti profilį
    • mano CV
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #11 Įrašytas: 2011-11-06 13:19:38 pm »
irgi variantas :) kaip visada, yra keletas budu.
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs zmak

  • Naujokas
  • *
  • Įrašai: 177
  • Karma: +1/-0
    • Žiūrėti profilį
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #12 Įrašytas: 2011-11-06 15:09:06 pm »
Kaip visada yra keli variantai, ir kiekvienas pasirenka vis kita, sau priimtinesni :)

Neprisijungęs OZ4S

  • Naujokas
  • *
  • Įrašai: 45
  • Karma: +3/-1
  • "NĖRA TO BLOGO, KURIS NEIŠEITU Į GERĄ!"
    • Žiūrėti profilį
    • IT SPRENDIMAI
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #13 Įrašytas: 2011-11-08 18:24:52 pm »
Jei nieko neišeina, tai viską spausdinkis, tada sužinosi, kame bėda. :)
Informacinių technologijų - Specialistas!

Pagarbiai OZ4S.

Neprisijungęs zmak

  • Naujokas
  • *
  • Įrašai: 177
  • Karma: +1/-0
    • Žiūrėti profilį
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #14 Įrašytas: 2011-11-17 18:57:55 pm »
Jei nieko neišeina, tai viską spausdinkis, tada sužinosi, kame bėda. :)
Buvau viska išsispausdines, nieko nekeiciant vietoj i mysql dedant spausidnau, atkopinau ir dejau i sql per phpmyadmin viskas suveike susikure, o per web ne, ten kaskoks fail

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 1982
  • Karma: +52/-16
    • Žiūrėti profilį
    • Apie mane
Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #15 Įrašytas: 2011-11-17 19:50:36 pm »
Tau per web ir nesuveiks visa MYSQL serija :) Turi skaidyti į atskiras užklausas, kadangi kitaip bus neatpažinta tai ko tu nori :)

Manualai.lt Forumas

Re: MySQL lenteliu sukurimas is puslapio puses
« Atsakymas #15 Įrašytas: 2011-11-17 19:50:36 pm »