Avatar billede KHHP Juniormester
05. oktober 2011 - 19:59 Der er 23 kommentarer og
2 løsninger

Problem med opsætning af php kalender

Hej
Jeg er igang med at opsætte en kalender på en hjemmeside, som indtil videre bare skal køre i XAMPP, men er stødt på et lille problem.
Når jeg kører createtables.php i min browser, så får jeg følgende fejl:
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 'TYPE=MyISAM' at line 12
Kalenderen hedder phpEventCalendar og link til den er her: http://www.phpcodeworks.com/pec
Jeg følger instruktionerne i README-filen, men alligevel for jeg denne fejl. Der må være problemer med den seneste version af XAMPP og phpEventCalendar, da det virkede fint på min anden computer der kørte XAMPP 1.7.4, og min nuværende pc kører XAMPP 1.7.7
Er der nogen der har et bud på hvad der kan være galt, eller en anden enkel php kalender med samme funktioner som phpEventCalendar er dette også iorden
Avatar billede NielsErikP Mester
05. oktober 2011 - 20:25 #1
Hej..
Kunne man se koden til createtables.php ???
Avatar billede NielsErikP Mester
05. oktober 2011 - 20:27 #2
Hej..
prøv evt. at se følgende tråd, måske der er noget du kan bruge  :

    http://www.eksperten.dk/spm/941787
Avatar billede KHHP Juniormester
06. oktober 2011 - 08:04 #3
Her er min createtables.php
http://dl.dropbox.com/u/41698524/createtables.php
Prøvede en anden php/mysql kalender, kan dog ikke huske hvad den hed, men den gjorde det samme, dog var koden til den en lidt anden, men fejlen var den samme.
Avatar billede majbom Novice
06. oktober 2011 - 09:12 #4
smid koden ind på pastebin.com - så vi ikke skal hente filen...
Avatar billede KHHP Juniormester
06. oktober 2011 - 15:26 #5
Ok. Nu ligger den på pastebin.com: http://pastebin.com/QuyWt3wi
Avatar billede NielsErikP Mester
06. oktober 2011 - 21:21 #6
Hej...
Er der Connection til database??

6.
mysql_connect(DB_HOST, DB_USER, DB_PASS) or die(mysql_error());

7.
mysql_select_db(DB_NAME) or die(mysql_error());


Skal linje 6 ikke hedde :


$DB_NAME = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die(mysql_error());

mysql_select_db(DB_NAME) or die(mysql_error());


Læser i #0:


  "error in your SQL syntax"

og 

  "for the right syntax to use near 'TYPE=MyISAM' at line 12"



Mangler der et semikolon et sted efter TYPE=MyISAM???
Avatar billede KHHP Juniormester
07. oktober 2011 - 08:05 #7
Koden der knyttet til Type=MyISAM, er afsluttet med semikolon i forvejen:
mysql_query("CREATE TABLE " . DB_TABLE_PREFIX . "mssgs (
  id mediumint(5) unsigned NOT NULL auto_increment,
  uid tinyint(3) unsigned NOT NULL default '0',
  m tinyint(2) NOT NULL default '0',
  d tinyint(2) NOT NULL default '0',
  y smallint(4) NOT NULL default '0',
  start_time time NOT NULL default '00:00:00',
  end_time time NOT NULL default '00:00:00',
  title varchar(50) NOT NULL default '',
  text text NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM") or die(mysql_error());

Men lavede den foreslåede ændring i linje 6, men stadig samme fejl
Avatar billede majbom Novice
07. oktober 2011 - 20:54 #8
har du ikke phpmyadmin på den xamp-install?

så kan du jo tage sql-queryen og køre i et SQL-felt dér i stedet - og så udkommentere den del i din kode - jeg kan ikke umiddelbart se nogle fejl i kode-stumpen i #7...
Avatar billede KHHP Juniormester
09. oktober 2011 - 19:42 #9
Jeg prøvede at kopiere det, men får nu en syntax error i linje 1 af den indsatte kode.
Avatar billede majbom Novice
09. oktober 2011 - 19:46 #10
og hvordan ser linje 1 ud nu?

du har fjernet "mysql_query" ?
Avatar billede NielsErikP Mester
09. oktober 2011 - 21:02 #11
Hej...
Det er en syntax error, prøv dig evt. frem...
Hvad med :


mysql_query("CREATE TABLE " . DB_TABLE_PREFIX . "mssgs
  id mediumint(5) unsigned NOT NULL auto_increment,
  uid tinyint(3) unsigned NOT NULL default '0',
  m tinyint(2) NOT NULL default '0',
  d tinyint(2) NOT NULL default '0',
  y smallint(4) NOT NULL default '0',
  start_time time NOT NULL default '00:00:00',
  end_time time NOT NULL default '00:00:00',
  title varchar(50) NOT NULL default '',
  text text NOT NULL,
  PRIMARY KEY  (id)
  TYPE=MyISAM") or die(mysql_error());



Eller


mysql_query("CREATE TABLE " . DB_TABLE_PREFIX .'mssgs (
  id mediumint(5) unsigned NOT NULL auto_increment,
  uid tinyint(3) unsigned NOT NULL default '0',
  m tinyint(2) NOT NULL default '0',
  d tinyint(2) NOT NULL default '0',
  y smallint(4) NOT NULL default '0',
  start_time time NOT NULL default '00:00:00',
  end_time time NOT NULL default '00:00:00',
  title varchar(50) NOT NULL default '',
  text text NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM') or die(mysql_error());



Eller


mysql_query("CREATE TABLE " . DB_TABLE_PREFIX . "mssgs (
  id mediumint(5) unsigned NOT NULL auto_increment,
  uid tinyint(3) unsigned NOT NULL default '0',
  m tinyint(2) NOT NULL default '0',
  d tinyint(2) NOT NULL default '0',
  y smallint(4) NOT NULL default '0',
  start_time time NOT NULL default '00:00:00',
  end_time time NOT NULL default '00:00:00',
  title varchar(50) NOT NULL default '',
  text text NOT NULL,
  PRIMARY KEY  (id);
) TYPE=MyISAM") or die(mysql_error());

Avatar billede majbom Novice
09. oktober 2011 - 21:10 #12
arh - sorry!

du skal lige vide hvad DB_TABLE_PREFIX er og sætte det ind i stedet, så det bliver f.eks.:

CREATE TABLE DIT_PREFIXmssgs (
  id mediumint(5) unsigned NOT NULL auto_increment,
  uid tinyint(3) unsigned NOT NULL default '0',
  m tinyint(2) NOT NULL default '0',
  d tinyint(2) NOT NULL default '0',
  y smallint(4) NOT NULL default '0',
  start_time time NOT NULL default '00:00:00',
  end_time time NOT NULL default '00:00:00',
  title varchar(50) NOT NULL default '',
  text text NOT NULL,
  PRIMARY KEY  (id);
) TYPE=MyISAM


hvis DB_TABLE_PREFIX er DIT_PREFIX - hvilket det nok ikke er :)
Avatar billede KHHP Juniormester
10. oktober 2011 - 08:58 #13
#11
Dit første forslag gav denne fejl:
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 'id mediumint(5) unsigned NOT NULL auto_increment, uid tinyint(3) unsigned NOT' at line 2

Dit andet forslag gav denne i dreamweaver:
There is a syntax error on line 11. Code hinting may not work until you fix this error.
Gemmer jeg filen og åbner i min browser får jeg:
Parse error: syntax error, unexpected T_LNUMBER in C:\xampp\htdocs\pulsen\calendar\createtables.php on line 11

Din tredje kode giver dette i browseren, men som i den første, heller ingen fejl i dreamweaver:
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 '; ) TYPE=MyISAM' at line 11


Anyway, jeg har uploadet den fil der linkes til i createtables.php, nemlig config.php til pastebin: http://pastebin.com/rrFDEZ4W
I den fil defineres DB_TABLE_PREFIX til pec_.

#12
Når jeg sletter DIT_PREFIX i den SQL QUERY  du foreslog, og indsætter pec_ i stedet, så ser koden således ud:
CREATE TABLE pec_mssgs (  id mediumint(5) unsigned NOT NULL auto_increment,  uid tinyint(3) unsigned NOT NULL default '0',  m tinyint(2) NOT NULL default '0',  d tinyint(2) NOT NULL default '0',  y smallint(4) NOT NULL default '0',  start_time time NOT NULL default '00:00:00',  end_time time NOT NULL default '00:00:00',  title varchar(50) NOT NULL default '',  text text NOT NULL,  PRIMARY KEY  (id);) TYPE=MyISAM

Når jeg trykker udfør, så får jeg dette:
Fejl

SQL-forespørgsel:

CREATETABLE pec_mssgs(

id mediumint( 5)unsigned NOTNULLAUTO_INCREMENT ,
uid tinyint( 3)unsigned NOTNULL default'0',
m tinyint( 2)NOTNULL default'0',
d tinyint( 2)NOTNULL default'0',
y smallint( 4)NOTNULL default'0',
start_time time NOTNULL default'00:00:00',
end_time time NOTNULL default'00:00:00',
title varchar( 50)NOTNULL default'',
text text NOTNULL ,
PRIMARYKEY ( id ) ;




MySQL returnerede:
#1064 - 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 '' at line 1

Men prøv at kigge i config.php som jeg har lagt på pastebin.
Jeg tror jeg prøver at køre kalenderen i XAMPP 1.7.4 og så eksporterer jeg databasen, og importerer den i XAMPP 1.7.7
Avatar billede KHHP Juniormester
10. oktober 2011 - 12:39 #14
Jeg har nu prøvet at installere det på XAMPP 1.7.4, men det gav samme fejl.
Hentede så en ældre version af kalenderen, og her virkede oprettelsen af tabellerne fint, men jeg kan ikke bruge det. Jeg tror simpelthen at det er håbløst forældet og ikke virker med det nyeste indenfor web.
Hvis der er nogen der har et forslag til en kalender som kan bruges i stedet, vil det bare være fint.
Avatar billede NielsErikP Mester
10. oktober 2011 - 16:38 #15
Hej...
Du skal nok huske at slette "semikolonnet" efter PRIMARY KEY igen inden du kører splazz'es forslag i #12!!

prøv lige den også :


mysql_query("CREATE TABLE " . DB_TABLE_PREFIX . mssgs ("
  id mediumint(5) unsigned NOT NULL auto_increment,
  uid tinyint(3) unsigned NOT NULL default '0',
  m tinyint(2) NOT NULL default '0',
  d tinyint(2) NOT NULL default '0',
  y smallint(4) NOT NULL default '0',
  start_time time NOT NULL default '00:00:00',
  end_time time NOT NULL default '00:00:00',
  title varchar(50) NOT NULL default '',
  text text NOT NULL,
  PRIMARY KEY  (id)
") TYPE=MyISAM") or die(mysql_error());

Avatar billede majbom Novice
10. oktober 2011 - 18:21 #16
-> #15 - ja det er korrekt, den missede jeg...
prøv også med ENGINE i stedet for TYPE

CREATE TABLE pec_mssgs (
  id mediumint(5) unsigned NOT NULL auto_increment,
  uid tinyint(3) unsigned NOT NULL default '0',
  m tinyint(2) NOT NULL default '0',
  d tinyint(2) NOT NULL default '0',
  y smallint(4) NOT NULL default '0',
  start_time time NOT NULL default '00:00:00',
  end_time time NOT NULL default '00:00:00',
  title varchar(50) NOT NULL default '',
  text text NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=MyISAM;
Avatar billede KHHP Juniormester
11. oktober 2011 - 08:51 #17
nu fik jeg oprettet databasen, men nu kommer der fejl når jeg forsøger at logge ind i kalenderens administration.
Har uploadet en video der viser dette her: http://dl.dropbox.com/u/36022188/pec.zip

Jeg tror ikke at det virker, så derfor ville det være dejligt hvia der var nogen der kendte en anden php kalender der kunne klare jobbet for mig.
Avatar billede NielsErikP Mester
11. oktober 2011 - 09:48 #18
Hej...
Noget folk skal se...Skal helst ikke være noget de skal DOWNLOADE, find en anden løsning for at vise din video!!!
Avatar billede KHHP Juniormester
11. oktober 2011 - 12:08 #19
Så er den lagt ud til at se og ikke download: http://www.youtube.com/watch?v=HXucr3g5SyM
Avatar billede KHHP Juniormester
11. oktober 2011 - 13:54 #20
Har nu prøvet på min Mac med Lion 10.7.1 og XAMPP og her fungerer alt som det skal.
Så jeg tror at der er problemer med XAMPP på Windows og phpEventCalendar
Avatar billede KHHP Juniormester
13. oktober 2011 - 17:30 #21
Fandt noget der hedder LuxCal, som var lige så godt som det phpEventCalendar, og det fungerede med XAMPP 1.7.7
Men jer der har forsøgt at løse mit problem skal da alligevel have en belønning, så smid svar for at få point.
Avatar billede majbom Novice
13. oktober 2011 - 19:35 #22
godt du fandt et brugbart alternativ :)
Avatar billede NielsErikP Mester
13. oktober 2011 - 21:28 #23
Hej...
FantasTIC, det lykkes dig at finde noget du kunne bruge!!!
Avatar billede majbom Novice
14. oktober 2011 - 18:28 #24
tfp :)
Avatar billede NielsErikP Mester
15. oktober 2011 - 00:22 #25
Hej..
Tak for point :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester