Avatar billede snuseren.dk Nybegynder
06. juli 2003 - 15:42 Der er 13 kommentarer og
1 løsning

Fejl i kode

Hey!

Jeg har lige lavet følgende kode:

<?php
// Variabler til MySQL oplysninger
    $mysql_host = "localhost"; // MySQL server
    $mysql_user = "root"; // MySQL brugernavn
    $mysql_pw = ""; // MySQL Adgangskode
    $mysql_db = "QAA"; // MySQL database navn

// Variabler tilindsættelse i MySQL
    $Navn = $_POST("navn");
    $Email = $_POST("email");
    $Hjemmeside = $_POST("hjemmside");
    $Koen = $_POST("kvinde");
    $Foedselsdag = $_POST("dag");
    $Brugernavn = $_POST("brugernavn");
    $Adgangskode = $_POST("adgangskode");

// Her åbnes for MySQL databasen
    mysql_connect($mysql_host, $mysql_user, $mysql_pw);
    mysql_select_db($mysql_db); // Der åbnes for databasen defineret i config.php.
    $result = mysql_query("INSERT INTO Brugere ('Navn','Email','Hjemmeside','Koen','Foedselsdag','Brugernavn','Adgangskode) VALUES ('$Navn', '$Email', '$Hjemmeside', '$Koen', '$Foedselsdag', '$Brugernavn', '$Adgangskode')");
?>

Men når jeg kører den, kommer den med følgende fejl: Fatal error: Call to undefined function: array() in c:\programmer\apache group\apache\htdocs\qaa\tilmeld_db.php on line 9

Jeg har mysql server installeret på min computer, men derinde i WinMySQLAdmin, står der under MyODBC: Not found, Driver 3.51 not found. Kan det have noget med det at gøre, eller er det koden? Og hvordan får jeg det til at virke?

// Anders
Avatar billede pbudk Nybegynder
06. juli 2003 - 15:48 #1
når du henviser til arrayet $_POST, skal det være sådan $_POST["navn"] og ikke $_POST("navn")
Avatar billede ohmish Nybegynder
06. juli 2003 - 15:48 #2
$_POST("hjemmeside") skal være $_POST['hjemmeside'] osv osv
Avatar billede fangel Nybegynder
06. juli 2003 - 15:48 #3
prøv lige at ændre disse linier:

    $mysql_db = mysql_connect($mysql_host, $mysql_user, $mysql_pw)or die(mysql_error());
    mysql_select_db($mysql_db)or die(mysql_error()); // Der åbnes for databasen defineret ovenfor.
    $result = mysql_query("INSERT INTO Brugere ('Navn','Email','Hjemmeside','Koen','Foedselsdag','Brugernavn','Adgangskode) VALUES ('$Navn', '$Email', '$Hjemmeside', '$Koen', '$Foedselsdag', '$Brugernavn', '$Adgangskode')")or die(mysql_error());

det jeg har ændret er:

1) sat en "or die(mysql_error())" efter hver mysql ting, på den måde stopper scriptet ved mysql fejl, og du får mysqls fejlmed.
2) sat en "mysql_db = " ind foran mysql_connect, da du jo skal gemme dit db handle

prøv og se om dette virker

Morten
Avatar billede fangel Nybegynder
06. juli 2003 - 15:49 #4
og så har de to andre har sagt
Avatar billede snuseren.dk Nybegynder
06. juli 2003 - 15:51 #5
Tak! Nu får jeg ingen fejl, men den indsætter altså heller ikke i databasen..

Hvad kan der være galt? Kan det have noget med den ODBC driver at gøre?


// Anders
Avatar billede snuseren.dk Nybegynder
06. juli 2003 - 15:54 #6
dea_pg ->> Nu giver den fejlen: Unknown database 'resource id #2'
Avatar billede detox Nybegynder
06. juli 2003 - 15:54 #7
Tror osse du skal droppe dine ' '.:
$result = mysql_query("INSERT INTO Brugere (Navn, Email, Hjemmeside, Koen, Foedselsdag, Brugernavn, Adgangskode) VALUES ('$Navn', '$Email', '$Hjemmeside', '$Koen', '$Foedselsdag', '$Brugernavn', '$Adgangskode')")or die(mysql_error());
Avatar billede fangel Nybegynder
06. juli 2003 - 15:58 #8
"Unknown database" siger jo sig selv, du prøver at vælge en database som ikke findes! kan ikke helt forstå "resource id #2", men tjek lige at databasen hedder det rigtige, huske store/små bogstaver

Morten
Avatar billede snuseren.dk Nybegynder
06. juli 2003 - 15:58 #9
Det har jeg allerede tjekket, og det er den rigtige.
Avatar billede fangel Nybegynder
06. juli 2003 - 16:06 #10
my bad..

dette vil virke

$DB = mysql_connect($mysql_host, $mysql_user, $mysql_pw)or die(mysql_error());
mysql_select_db($mysql_db, $DB)or die(mysql_error());

Morten
Avatar billede snuseren.dk Nybegynder
06. juli 2003 - 16:12 #11
Ja det virker sq fint :o)

Jeg takker!
Avatar billede snuseren.dk Nybegynder
06. juli 2003 - 16:12 #12
Ligger du ikke et svar?
Avatar billede fangel Nybegynder
06. juli 2003 - 16:20 #13
svaa'r

PS, fandt fejlen ved at søge på

"Unknown database 'resource id #"

og læse de ting den fandt igennem (fra phpbuilder.net, udemærket side forresten)

derfra fandt jeg dette: (http://www.phpbuilder.com/mail/php-general/2000081/0358.php)
"My first reaction would be the fact...that if you posted your ENTIRE
code...you never specified a value for $dbname ....which means you're trying
to change to a NULL database which would be the cause of that error :) Try
giving $dbname a value or if you're only going to be using one database for
this, take out $dbname and replace it with the name of the database
containing the user_profile table."

så begynte jeg at tjekke om det var pga overskrivning af variabler, og det var det sørme... havde lige overset at jeg i min rettelse nr 1 havde kommet til at overskrive variablen med databasens navn i...

Morten
Avatar billede snuseren.dk Nybegynder
06. juli 2003 - 16:27 #14
Tak for det!
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