Avatar billede princewhite Nybegynder
22. september 2004 - 18:48 Der er 6 kommentarer og
1 løsning

Ingen data til sql

Hejsa,

Er lidt i tvivl om jeg skal poste det her spørgsmål i MySQL eller php, beklager hvis det er forkert..

Håber nogen kan lokalisere en fejl for mig.. Har nedenstående filer og query og den laver ingen fejl, men der kommer bare ingen data ind i min DB, nogen der kan se hvad der er galt ?? takker på forhånd :)

-----------HTM fil--------

<form method="post" action="info.php">
<td width="250"><div style="text-align:left">Fulde navn:</div></td><td><input name="navn" type="text"></td></tr>
<td width="250"><div style="text-align:left">Adresse:</td><td><input name="adresse" type="text"></td></tr>
<td width="250"><div style="text-align:left">nummer:</td><td><input name="nummer" type="text"></td></tr>
<td></td><td><input type="submit" value="Gem oplysninger" name="opret"></td></tr>
</form>

--------info.php------------

<?
if($opret){
mysql_connect("localhost","xxxxxx","xxxxxx");
mysql_select_db("bruger");
$query = mysql_query("INSERT INTO brugerkonti (navn, adresse, nummer)" . "VALUES ('$navn', '$adresse', '$nummer')");
echo "Data er modtaget";
}
________query________

CREATE TABLE brugerkonti
(navn char(50),
adresse char(50),
nummer char(50)
)
Avatar billede esoulman Nybegynder
22. september 2004 - 18:51 #1
Prøv dette:

<?
if($opret){
mysql_connect("localhost","xxxxxx","xxxxxx") or die(mysql_error());
mysql_select_db("bruger") or die(mysql_error());
$query = mysql_query("INSERT INTO brugerkonti (navn, adresse, nummer) " . "VALUES ('$navn', '$adresse', '$nummer')") or die(mysql_error());
echo "Data er modtaget";
}
Avatar billede esoulman Nybegynder
22. september 2004 - 18:51 #2
og lav char om til varchar(50) i stedet.
Avatar billede esoulman Nybegynder
22. september 2004 - 18:55 #3
Du skal muligvis forespørge dine variabler inden du kan indsætte dem:

$navn = $_POST['navn'];
$adresse = $_POST['adresse'];
$nummer = $_POST['nummer'];

-- og så resten af din php kode.
Avatar billede princewhite Nybegynder
22. september 2004 - 19:10 #4
takker... tror varchar gjore forskellen :) kan du iøvrigt fortælle mig ud fra det query jeg postede, hvordan det kan være jeg får af vide, nærmest som en fejl, at jeg ikke har angivet en primær nøgle? point er dine, så venligt lig et svar.. takker :)
Avatar billede esoulman Nybegynder
22. september 2004 - 19:21 #5
Tak skal du have.

En primær nøgle er ikke en nødvendighed, men noget man bestemmer en kolonne til at være - f. eks. hvis Navn er primær nøgle skal værdien være unik og kan ikke blive indtastet i databasen hvis den findes i forvejen. Her er det ikke nogen god ide at lave en primær nøgle da alle dine tre felter kan risikere at forekomme mere end en gang. Jeg mener, der er jo flere mennesker der bor på den sammen vej bare i en anden by og sådan. Du kan vælge at oprette en ny kolonne som hedder "id" eller lignende, og sætte den til auto_increment. Så sørger den for at hver post i databasen får dens eget nummer.
Avatar billede princewhite Nybegynder
22. september 2004 - 19:37 #6
takker :) har den auto_increment en kode a'la varchar osv?
Avatar billede esoulman Nybegynder
22. september 2004 - 19:42 #7
Fandt det her på nettet:

Kolonne der skal have auto_increment skal bare være et int(11) eller et andet numerisk format. Her bliver den oprettet som den primære nøgle samtidig med auto_increment.

CREATE TABLE employees (
    id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT
)
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
Computerworld tilbyder specialiserede kurser i database-management

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