Avatar billede saison Nybegynder
10. april 2004 - 23:04 Der er 33 kommentarer og
2 løsninger

Session i en database - et tal

Hej, jeg får en fejl her, nogen der ved hvorfor:

$query = mysql_query("SELECT * FROM brugere where brugerid ='$_SESSION[brugerid]'") or die(mysql_error());


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 'brugerid =001081548922' at line 1
Avatar billede taskmgr Nybegynder
10. april 2004 - 23:05 #1
$query = mysql_query("SELECT * FROM brugere where brugerid ='" . $_SESSION['brugerid'] . "'") or die(mysql_error());
Avatar billede saison Nybegynder
10. april 2004 - 23:06 #2
okay tak, hvorfor det?
Avatar billede saison Nybegynder
10. april 2004 - 23:09 #3
Nææ, jeg får samme fejl...
Avatar billede taskmgr Nybegynder
10. april 2004 - 23:11 #4
Prøv med:

$query = mysql_query("SELECT * FROM brugere where brugerid = " . $_SESSION['brugerid']) or die(mysql_error());
Avatar billede saison Nybegynder
10. april 2004 - 23:13 #5
Nej. Der er stadig fejl.

Kan det være fordi det står på flg. måde:

if($_SESSION['brugerid']){
$query = mysql_query("SELECT * FROM brugere where brugerid ='$_SESSION[brugerid]'") or die(mysql_error());
Avatar billede taskmgr Nybegynder
10. april 2004 - 23:17 #6
Nej det er en fejl fra mysql..
Avatar billede saison Nybegynder
10. april 2004 - 23:19 #7
OKay, det virker fint nok, hvis jeg f.eks. tager den session hvori email er,

if($_SESSION['brugerid']){
$query = mysql_query("SELECT * FROM brugere where brugerid ='$_SESSION[email]'") or die(mysql_error());

Men det skulle gerne være brugerid
Avatar billede taskmgr Nybegynder
10. april 2004 - 23:19 #8
måske virker det her:

$brugerid = $_SESSION['brugerid'];
$query = mysql_query("SELECT * FROM brugere where brugerid=" . $brugerid) or die(mysql_error());
Avatar billede saison Nybegynder
10. april 2004 - 23:24 #9
Nej har prøvet det...
Avatar billede taskmgr Nybegynder
10. april 2004 - 23:26 #10
Hvad har du i $_SESSION['brugerid']?
Avatar billede schaefner Juniormester
10. april 2004 - 23:27 #11
Hvad melder den når du skriver:

$query = mysql_query("SELECT * FROM brugere WHERE brugerid=".$_SESSION['brugerid']."") or die(mysql_error());
Avatar billede saison Nybegynder
10. april 2004 - 23:31 #12
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 'brugerid =001081548922' at line 1
Avatar billede schaefner Juniormester
10. april 2004 - 23:32 #13
hvilken type er brugerid i databasen?
Avatar billede taskmgr Nybegynder
10. april 2004 - 23:32 #14
Har du andre queries i filen?
Avatar billede saison Nybegynder
10. april 2004 - 23:33 #15
varchar
Avatar billede saison Nybegynder
10. april 2004 - 23:33 #16
queiries i filen?! Hvad vil det sige?!
Avatar billede taskmgr Nybegynder
10. april 2004 - 23:34 #17
bruger du mysql_query() flere steder i den pågældende fil?
Avatar billede saison Nybegynder
10. april 2004 - 23:34 #18
Nej, det er det eneste sted.
Avatar billede saison Nybegynder
10. april 2004 - 23:36 #19
Det virker fint nok, hvis jeg tager en af de andre data jeg har i databasen...
Skal det være noget andet end varchar?!
Avatar billede taskmgr Nybegynder
10. april 2004 - 23:37 #20
Prøv med en int
Avatar billede dennismp Nybegynder
10. april 2004 - 23:37 #21
$query = mysql_query("SELECT * FROM brugere where brugerid ='{$_SESSION['brugerid']}'") or die(mysql_error());
Avatar billede saison Nybegynder
10. april 2004 - 23:38 #22
nix, virker heller ikke.
Avatar billede saison Nybegynder
10. april 2004 - 23:38 #23
^til dennismp.

taskmgr, jeg prøver lige en int istedet
Avatar billede dennismp Nybegynder
10. april 2004 - 23:39 #24
glem det..
Avatar billede dennismp Nybegynder
10. april 2004 - 23:39 #25
er du sikker på at $_SESSION['brugerid'] indeholder hvad du forventer?
har du prøvet
Avatar billede dennismp Nybegynder
10. april 2004 - 23:40 #26
det kører for mig :(


$sql = "SELECT * FROM brugere where brugerid ='{$_SESSION['brugerid']}'";

print $sql;
$query = mysql_query($sql) or die(mysql_error());
Avatar billede saison Nybegynder
10. april 2004 - 23:48 #27
$_SESSION['brugerid'] indeholder 001081548922, hvilket også står i fejlen:

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 'brugerid =001081548922' at line 1

Så det burde vel være rigtigt nok?!
Avatar billede schaefner Juniormester
10. april 2004 - 23:49 #28
Har du ændret felttypen til int? Hvorlang har du sat dit varchar-felt til at være?
Avatar billede saison Nybegynder
10. april 2004 - 23:50 #29
int er ændret.
Avatar billede saison Nybegynder
10. april 2004 - 23:50 #30
mit varchar felt var begrænset til 40 tegn
Avatar billede schaefner Juniormester
10. april 2004 - 23:51 #31
Hvordan ser din tabel i databasen ud? Kan du prøve at lave et dump?
Avatar billede saison Nybegynder
10. april 2004 - 23:53 #32
CREATE TABLE `brugere` (
  `id` int(11) NOT NULL auto_increment,
  `brugerid` int(40) NOT NULL default '0',
  `password` varchar(35) NOT NULL default '',
  `email` varchar(40) NOT NULL default '',
    PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=00000 ;
Avatar billede taskmgr Nybegynder
10. april 2004 - 23:58 #33
prøv med en bigint i stedet for int
Avatar billede saison Nybegynder
10. april 2004 - 23:59 #34
Det virker heller ikke
Avatar billede saison Nybegynder
11. april 2004 - 00:22 #35
Nå, jeg har også id der er unik, så jeg må bruge den istedet for. Men ellers tak for hjælpen.
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