Avatar billede phill94 Nybegynder
22. maj 2010 - 02:59 Der er 7 kommentarer og
1 løsning

#1064 SQL syntax error

Hej eksperter.

Jeg har et lille problem med/i databasen...
Hvis jeg indsætter dette:

CREATE TABLE `brugere` (
  `uid` int(9) NOT NULL AUTO_INCREMENT,
  `ubrugernavn` varchar(31) NOT NULL,
  `ukodeord` varchar(80) NOT NULL,
  `uemail` varchar(80) NOT NULL,
  `ufnavn` varchar(80) NOT NULL,
  `enavn` varchar(80) NOT NULL,
  `ufodselsdag` date NOT NULL default '0000-00-00',
  `uregdato` datetime NOT NULL default '0000-00-00 00:00',
  `uregip` varchar(30) NOT NULL,
  `ulogip` varchar(30) NOT NULL,
  `uip` varchar(30) NOT NULL,
  `uby` varchar(31) NOT NULL DEFAULT,
  `upostnr` varchar(10) NOT NULL,
  `ukon` varchar(30) NOT NULL,
  `ubillede` varchar(100) NOT NULL,
  `uadmin` varchar(30) NOT NULL,
  `uwebmaster` varchar(30) NOT NULL default,
  `uptekst` longtext NOT NULL default,
  `ugodkendt` tinyint(1) NOT NULL default '0',
  PRIMARY KEY (`uid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

i min database, kommer følgende fejl:
#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 ' `upostnr` varchar(10) NOT NULL, `ukon` varchar(30) NOT NULL, `ubillede' at line 13


Siger dette jer noget, hvad ville løse det?
På forhånd, tak.
Avatar billede arne_v Ekspert
22. maj 2010 - 03:19 #1
uby har en DEFAULT uden en default værdi.

`uby` varchar(31) NOT NULL DEFAULT '',

måske.

Og der er et par mere af dem.
Avatar billede Saz Nybegynder
22. maj 2010 - 11:32 #2
Hej phill94

Jeg har lige testet din kode.

Og som arne_v sagde så er det fordi du har nogle DEFAULT som ikke har en værdi sat. Derfor tror MySQL at Upostnr, Ukon og Ubillede, skal være default værdien og det kan den bare ikke fordi at det ikke bliver skrevet rigtigt, syntax messigt.
Avatar billede phill94 Nybegynder
22. maj 2010 - 18:29 #3
Ahh ja, nu ser jeg det, og min 'uptekst' longtext kunne heller ikke have en default værdi.
Mange tak, problemet er løst :)

Da jeg ikke har prøvet at uddele til 2 personer før, skal jeg så bare lade jer smide et svar og acceptere begge, eller skal i have uddelt de 100 point hver for sig?
Avatar billede arne_v Ekspert
22. maj 2010 - 18:45 #4
du kan sagtens dele point ud til flere svar
Avatar billede phill94 Nybegynder
22. maj 2010 - 20:06 #5
Super.
Lige inden jeg uddeler point har jeg et hurtigt spørgsmål:

Jeg har lidt problemer med at logge mine brugere på. Hvis man indtaster sit brugernavn og kodeord fortæller den lige meget hvad, at det er forkert.

Dette er login processen:

Form

<form method="post" action="tjek.php">
Brugernavn: <input type="text" name="bruger"><br>
Kodeord: <input type="password" name="kodeord">
<br><br>
<input type="submit" value="Login" name="submit">
</form>


Kode/Process

<?php
include "caronnect.php";
session_start();

if (isset($_POST['submit']))
{
    $bruger=$_POST['bruger'];
    $kodeord=$_POST['kodeord'];
    $bruger=strip_tags($bruger);
    $kodeord=md5($password);
    $query = "select ubrugernavn,ukodeord from brugere where ubrugernavn='$bruger' and ukodeord='$kodeord'";
    $result = mysql_query($query) or die(mysql_error());
    $result2=mysql_fetch_array($result);
    if($result2)
    {
              $_SESSION['bruger']=$bruger;
            mysql_query("INSERT INTO loginlog(ubrugernavn, uip, ustatus, udato) VALUES ('$bruger','$_SERVER[REMOTE_ADDR]','Success',NOW())");

          echo "<center><big>Du er nu logget ind som " . $bruger . "!<br><br>";
      echo "Du vil automatisk blive overført.<br><br>";
          header("Refresh: 4; url='index.php");
    }
    else
    {
      print "<center>Forkert brugernavn eller kodeord.<br><A href='login.php'>Prøv igen</a></center>";
      mysql_query("INSERT INTO loginlog(ubrugernavn, uip, ustatus, ukodeord, udato) VALUES ('$_POST[bruger]','$_SERVER[REMOTE_ADDR]','Fejlede','$_POST[kodeord]',NOW())");
    exit;
    }
}
?>
Avatar billede arne_v Ekspert
22. maj 2010 - 22:08 #6
$kodeord=$_POST['kodeord'];
...
    $kodeord=md5($password);

$kodeord != $password
Avatar billede phill94 Nybegynder
23. maj 2010 - 02:45 #7
Jeg skulle måske overveje at få et par briller... Tænk at jeg har overset det. Tak Arne.
Saz, smider du også lige et svar så I kan få jeres point.
Avatar billede phill94 Nybegynder
24. maj 2010 - 14:17 #8
Saz, hvis du ikke har smidt et svar inden Onsdag, så får Arne pointsne også må du evt. skrive..
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