/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
SQL syntax error
Fra : cds


Dato : 10-02-04 21:13

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 ;




 
 
Claus Abildgaard Chr~ (10-02-2004)
Kommentar
Fra : Claus Abildgaard Chr~


Dato : 10-02-04 21:46

cds wrote:

> 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"
>

<snip en masse>

> $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());

<snip lidt tabel definition>

> `oprettetaf` int(11) NOT NULL default '0',
> PRIMARY KEY (`UserID`),
> UNIQUE KEY `Mailbox` (`Mailbox`,`DomainID`)
> ) TYPE=MyISAM AUTO_INCREMENT=23 ;

Du har erklæret 'oprettetaf' feltet som NOT NULL. Hvis du kigger i
fejlbeskeden, står der ingenting på sidste plads hvor 'oprettetaf' burde
have stået. Står der noget i $oprettetaf variablen?

Mvh,
Claus

Jens Gyldenkærne Cla~ (10-02-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 10-02-04 22:40

cds skrev:

> jeg får følgende fejl "You have an error in your SQL syntax.

[snip]

> $add_profil = mysql_query("INSERT INTO userlist
> (Mailbox,

Så vidt jeg kan se opbygger du databasekaldet via php. Hvis du vil
finde fejlen, er det en god ide at udskrive den resulterende sql-
sætning. Jeg er ikke php-mand, så jeg kan ikke sige præcis hvordan
det gøres der, men det ved de sikkert i php-gruppen. Men teknikken
går ud på at gemme sql-kaldet i en variabel og udskrive den. Jeg
vil gætte på at du kan gøre således:

$sql = "INSERT into ....."

$add_profil = mysql_query($sql) or die($sql);

Til forskel fra din nuværende kommando, vil ovenstående udskrive
hele sql-kaldet. Det er nogle gange lettere at fejlfinde på.
--
Jens Gyldenkærne Clausen
»Diplomatiet består netop i, at de gamle kommatister kan få lov til
at tro, at de har vundet. Men i virkeligheden har de tabt.«
Ole Togeby i Information

Bjarne Jensen (10-02-2004)
Kommentar
Fra : Bjarne Jensen


Dato : 10-02-04 22:42

cds wrote:

> "VALUES (..........'C:\MDAEMON\USERS\test.dk\$email\',

hmmmm, jeg er ik specielt stiv i den slags, men e der ik noget med at \
skal escapes med en ekstra \ - altså \\ ?


Mvh
Bjarne Jensen


cds (10-02-2004)
Kommentar
Fra : cds


Dato : 10-02-04 22:57


"Bjarne Jensen" <bjarne@marilu.org> skrev i en meddelelse
news:4029502f$0$95018
> skal escapes med en ekstra \ - altså \\ ?
har jeg prøvet uden held

mvh.
cds



cds (10-02-2004)
Kommentar
Fra : cds


Dato : 10-02-04 23:17

"Bjarne Jensen" <bjarne@marilu.org> skrev i en meddelelse
news:4029502f$0$95018$edfadb0f@dread11.news.tele.dk...
> cds wrote:
>
> skal escapes med en ekstra \ - altså \\ ?
Hej Bjarne

Du havde næsten ret det skulle bare være \\\\

Tak for hjælpen
mvh.
cds



Kristian Thy (10-02-2004)
Kommentar
Fra : Kristian Thy


Dato : 10-02-04 23:19

cds uttered:
> MaxDiskSpace, DomainID, oprettetaf)" . "VALUES ('$email', '$FullName',

Det bliver, når strengene bliver konkateneret, til:

» MaxDiskSpace, DomainID, oprettetaf)VALUES ('$email', '$FullName', «

Prøv at sætte et mellemrum mellem ) og VALUES.

\\kristian
--
"Wars are only carried on, and desperate enterprises carried out,
owing to the lack of imagination amongst the rank and file."
--Ellis Ashmead-Bartlett, at Gallipoli 1915

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408509
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste