Avatar billede noob2003 Nybegynder
10. februar 2004 - 21:57 Der er 7 kommentarer og
1 løsning

Syntax error

jeg får 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 '0000', '1', '1', '1', '5000', '3', '')' at line 1"

hvad gør jeg forkert ???

addslashes($UserID );
          addslashes($Mailbox);
          addslashes($FullName);
          addslashes($MailDir);
          addslashes($Password);
          addslashes($IsForwarding);
          addslashes($AllowAccess);
          addslashes($ApplyQuotas);
          addslashes($MaxDiskSpace);
          addslashes($DomainID);
          addslashes($oprettetaf);
          include("db_ind1.inc");
          $add_profil = mysql_query("INSERT INTO userlist (Mailbox,
FullName, MailDir, Password, IsForwarding, AllowAccess, ApplyQuotas,
MaxDiskSpace, DomainID, oprettetaf)" . "VALUES ('$email', '$FullName',
'C:\MDAEMON\USERS\test.dk\$email\', '$password', '1', '1', '1', '5000', '3',
'$opretteaf')") or die(mysql_error());

og db se sådan ud

CREATE TABLE `userlist` (
  `UserID` int(11) NOT NULL auto_increment,
  `Mailbox` varchar(60) NOT NULL default '',
  `FullName` varchar(100) NOT NULL default '',
  `MailDir` varchar(255) NOT NULL default '',
  `Password` varchar(32) NOT NULL default '',
  `AutoDecode` tinyint(1) NOT NULL default '0',
  `IsForwarding` tinyint(1) NOT NULL default '0',
  `AllowAccess` tinyint(1) NOT NULL default '1',
  `AllowChangeViaEmail` tinyint(1) NOT NULL default '0',
  `KeepForwardedMail` tinyint(1) NOT NULL default '0',
  `HideFromEveryone` tinyint(1) NOT NULL default '0',
  `EncryptMail` tinyint(1) NOT NULL default '0',
  `ApplyQuotas` tinyint(1) NOT NULL default '1',
  `EnableMultiPop` tinyint(1) NOT NULL default '0',
  `CanModifyGAB` tinyint(1) NOT NULL default '0',
  `CalendarOnly` tinyint(1) NOT NULL default '0',
  `MaxMessageCount` int(11) NOT NULL default '0',
  `MaxDiskSpace` int(11) NOT NULL default '0',
  `DomainID` int(11) NOT NULL default '0',
  `oprettetaf` int(11) NOT NULL default '0',
  PRIMARY KEY  (`UserID`),
  UNIQUE KEY `Mailbox` (`Mailbox`,`DomainID`)
) TYPE=MyISAM AUTO_INCREMENT=23 ;
Avatar billede htm Nybegynder
10. februar 2004 - 22:01 #1
gætter lidt her.

enten skal du escape \ så du skriver to \ i stedet for en

'C:\\MDAEMON\\USERS\\test.dk\$email\\'

eller også må password ikke være nul altså '0000'
Avatar billede noob2003 Nybegynder
10. februar 2004 - 22:13 #2
nope ser ikke ud til det er det der er problemet ;-(
Avatar billede detox Nybegynder
10. februar 2004 - 22:35 #3
Du bruger addslashes() på nogle variabler, men indsætter nogle andre. Er det tiltænkt?
Fx:
addslashes($Mailbox); / '$email'
addslashes($Password); / '$password'
Avatar billede detox Nybegynder
10. februar 2004 - 22:37 #4
I øvrigt ser dette mærkeligt ud:

...oprettetaf)" . "VALUES ('$email'...

skulle nok være:

...oprettetaf) VALUES ('$email'...
Avatar billede noob2003 Nybegynder
10. februar 2004 - 22:54 #5
har prøvet at rette den til nu med
addslashes($UserID);
          addslashes($Mailbox);
          addslashes($FullName);
          addslashes($MailDir);
          addslashes($Password);
          addslashes($IsForwarding);
          addslashes($AllowAccess);
          addslashes($ApplyQuotas);
          addslashes($MaxDiskSpace);
          addslashes($DomainID);
          addslashes($oprettetaf);
          include("db_ind1.inc");
          $add_profil = mysql_query("INSERT INTO userlist (Mailbox,
FullName, MailDir, Password, IsForwarding, AllowAccess, ApplyQuotas,
MaxDiskSpace, DomainID, oprettetaf) VALUES ('$Mailbox', '$FullName',
'C:\\MDAEMON\\USERS\\test.dk\\$Mailbox\\', '$Password', '1', '1', '1', '5000', '3',
'$oprettetaf')") or die(mysql_error());

og nu får jeg fejl ved at skrive jens ved Mailbox, FullName, Password

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 'jens', '1', '1', '1', '5000', '3', '1')' at line 4
Avatar billede detox Nybegynder
10. februar 2004 - 23:01 #6
Problemet er når du vil indsætte \ i tabellen. Så skal det faktisk dobbeltescapes. Prøv:

$add_profil = mysql_query("INSERT INTO userlist (Mailbox,
FullName, MailDir, Password, IsForwarding, AllowAccess, ApplyQuotas,
MaxDiskSpace, DomainID, oprettetaf) VALUES ('$Mailbox', '$FullName',
'C:\\\\MDAEMON\\\\USERS\\\\test.dk\\\\$Mailbox\\\\', '$Password', '1', '1', '1', '5000', '3', '$opretteaf')") or die(mysql_error());
Avatar billede noob2003 Nybegynder
10. februar 2004 - 23:14 #7
detox >> smid lige et svar :-)
Avatar billede detox Nybegynder
10. februar 2004 - 23:15 #8
c",)
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