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

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
HVad er der galt her
Fra : Thor


Dato : 02-01-03 16:10

Jeg er igang med at lave et lille forsøg, da jeg er noob.
men, nu har jeg sidet i snart en time eller 2 og rodet med denne stump kode.
er der nogle der kan finde ud af hvad der er galt.

<html>
<head>
<title>Lav_bruger</title>
</head>
<body>
<?php
$conn = mysql_connect("localhost", "root");
mysql_select_db("links");
$tabel = "bruger";
$brugernavn = $_REQUEST["bruger"];
$pass = $_REQUEST["password"];
$ind = "insert into $tabel set brugernavn='$brugernavn', password=pass";
mysql_query($ind);

echo "brugernavn = $brugernavn <br> pass = $pass";

mysql_close($conn);
?>
</body>
</html>

Som i kan se er det i mysql, dataen skal insættes, har lavet en database som
hedder links, og en tabel som heder bruger
..Men der kommer ikke noget ind i data basen
Håber i kan forstå hvad jeg skirver

MVH Thor



 
 
Thomas Lindgaard (02-01-2003)
Kommentar
Fra : Thomas Lindgaard


Dato : 02-01-03 16:23

"Thor" <thor1986@post.cybercity.dk> wrote in
news:3e145663$0$47057$edfadb0f@dtext02.news.tele.dk:

> $tabel = "bruger";
> $brugernavn = $_REQUEST["bruger"];
> $pass = $_REQUEST["password"];
> $ind = "insert into $tabel set brugernavn='$brugernavn',
> password=pass"; mysql_query($ind);

> Som i kan se er det i mysql, dataen skal ins‘ttes, har lavet en
> database som hedder links, og en tabel som heder bruger
> .Men der kommer ikke noget ind i data basen
> H†ber i kan forst† hvad jeg skirver

Hejsa Thor

Det er fordi du ikke skriver korrekt SQL :)

Prøv i stedet med

$ind = "INSERT INTO $tabel (brugernavn, password) VALUES
('$brugernavn', '$password');

.... men du burde jo få nogle fejlbeskeder fra PHP - gør du ikke det? Hvis
ikke kan du øverst i dit script indsætte

error_reporting(E_ALL);

eller du kan eksplicit bede om at få fejlbeskederne fra MySQL skrevet ud

mysql_query($ind) or { print mysql_errno.': '.mysql_error(); }
// (ved ikke liiige om det er den korrekte syntaks - men det ligner)

Det kan selvfølgelig osse tænkes at du slet ikke har fat i databasen, så
prøv evt. osse at skrive eventuelle fejl fra mysql_connect() og
mysql_select_db() ud.

God kodning :)
/Thomas

Thor (02-01-2003)
Kommentar
Fra : Thor


Dato : 02-01-03 16:34


> $ind = "INSERT INTO $tabel (brugernavn, password) VALUES
> ('$brugernavn', '$password');

Syndes jeg har prøvet den, men nu virker det :)
Tak for hjælpen.
>
> error_reporting(E_ALL);
Den husker jeg



Mads Lie Jensen (02-01-2003)
Kommentar
Fra : Mads Lie Jensen


Dato : 02-01-03 17:41

On 02 Jan 2003 15:23:21 GMT, Thomas Lindgaard
<thomas@it-snedkeren.BLACK_HOLE.dk> wrote:

>> $ind = "insert into $tabel set brugernavn='$brugernavn',
>> password=pass"; mysql_query($ind);
>
>Det er fordi du ikke skriver korrekt SQL :)

Ovenstående INSERT er muligvis ikke korrekt i forhold til
SQL-standarden, men mySQL kan altså godt forstå den.
Klip fra http://www.mysql.com/doc/en/INSERT.html :

The col_name=expression syntax is supported in MySQL Version 3.22.10 or
later.

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk
Lær af andres fejl
- du lever alligevel ikke længe nok til selv at prøve dem alle.

Thomas Lindgaard (02-01-2003)
Kommentar
Fra : Thomas Lindgaard


Dato : 02-01-03 19:57

Mads Lie Jensen <mads@gartneriet.dk> wrote in
news:joq81vceci644mqvvof5u86i0vkrare3gu@4ax.com:

>>> $ind = "insert into $tabel set brugernavn='$brugernavn',
>>> password=pass"; mysql_query($ind);
>>
>>Det er fordi du ikke skriver korrekt SQL :)
>
> Ovenst†ende INSERT er muligvis ikke korrekt i forhold til
> SQL-standarden, men mySQL kan alts† godt forst† den.

Ovs - der kan man bare se - men så må det vel virke hvis man bare husker at
sætte enkelt-gæs rundt om kodeordet (og husker dolleren):

$ind = "INSERT INTO $tabel SET brugernavn='$brugernavn', password='$pass'";

Hyggehej
/Thomas

Thomas Lindgaard (03-01-2003)
Kommentar
Fra : Thomas Lindgaard


Dato : 03-01-03 00:25

Thomas Lindgaard <thomas@it-snedkeren.BLACK_HOLE.dk> wrote in
news:Xns92F7CADA53940thomasitsnedkerendk@62.243.74.162:

> (og husker dolleren)

Jeg SYNTES s** nok at der var en stavefejl... læs: dollaren

/Thomas

Mikkel Christensen (03-01-2003)
Kommentar
Fra : Mikkel Christensen


Dato : 03-01-03 12:15

"Thomas Lindgaard" <thomas@it-snedkeren.BLACK_HOLE.dk> skrev i en meddelelse
news:Xns92F7A6B1589E9thomasitsnedkerendk@62.243.74.162...
> "Thor" <thor1986@post.cybercity.dk> wrote in
> news:3e145663$0$47057$edfadb0f@dtext02.news.tele.dk:
> error_reporting(E_ALL);
>
> eller du kan eksplicit bede om at få fejlbeskederne fra MySQL skrevet ud
>
> mysql_query($ind) or { print mysql_errno.': '.mysql_error(); }
> // (ved ikke liiige om det er den korrekte syntaks - men det ligner)
>

Jeg ville lige komme med min kommentar til error-reporting:)

error_reporting(E_ALL); bruges til at udskrive alle fejl i php.
Hvis du ønsker udskriveninger af de enkelte mysql fejl gør du således:

mysql_query($ind) or die('Fejl i følgende query: "'.$ind.'"<br>Fejlen er:
"'.mysql_error()'"<br><br>');

die() stopper udførslen af din kode hvis den blive udført.
Det vil sige at dit program stopper.
Ønsker du at programmet skal fortsætte og blot udskrive din fejl kan du
bruge print() i stedet:

mysql_query($ind) or print('Fejl i følgende query: "'.$ind.'"<br>Fejlen
er: "'.mysql_error().'"<br><br>');

Du kan eventuelt lave din helt egen funktion så du slipper for at skrive så
meget hver gang.


Her er der mere information om sql generelt:
http://www.webcafe.dk/artikler/sql/
Om databaser
http://www.webcafe.dk/artikler/databaser/
Om kombinationen af php og mysql:
http://www.webcafe.dk/artikler/php/

Dokumentation:
http://php.net/print
http://php.net/die

--
------> END <------
Mikkel Magnus Christensen
barefoot@jaha.dk, www.startfirma.dk, www.starthotel.dk, www.i-know.dk
------> END <------


Martin Skou Andersen (02-01-2003)
Kommentar
Fra : Martin Skou Andersen


Dato : 02-01-03 17:01

Thor wrote:
> Jeg er igang med at lave et lille forsøg, da jeg er noob.
> men, nu har jeg sidet i snart en time eller 2 og rodet med denne stump kode.
> er der nogle der kan finde ud af hvad der er galt.
>
> <html>
> <head>
> <title>Lav_bruger</title>
> </head>
> <body>
> <?php
> $conn = mysql_connect("localhost", "root");
> mysql_select_db("links");
> $tabel = "bruger";
> $brugernavn = $_REQUEST["bruger"];
> $pass = $_REQUEST["password"];
> $ind = "insert into $tabel set brugernavn='$brugernavn', password=pass";

Måske er det i virkeligheden her det gik galt. ^^
password=pass, skal nok i stedet hedde: password='$pass'.

> mysql_query($ind);
>
> echo "brugernavn = $brugernavn <br> pass = $pass";
>
> mysql_close($conn);
> ?>
> </body>
> </html>
>
> Som i kan se er det i mysql, dataen skal insættes, har lavet en database som
> hedder links, og en tabel som heder bruger
> .Men der kommer ikke noget ind i data basen
> Håber i kan forstå hvad jeg skirver
>
> MVH Thor
>
>

/Martin Skou


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

Månedens bedste
Årets bedste
Sidste års bedste