Avatar billede fico Nybegynder
06. januar 2007 - 17:16 Der er 7 kommentarer og
1 løsning

PHP/MySQL: Skrive i databasen og derefter læse samme linje

Hej

Jeg bruger følgende kode, for at skrive og derefter læse samme linje i et database. Men der opstår en fejl. Jeg kan bare ikke se hvorfor:
---------------------------------------
mysql_connect("Server", "Adm", "Pass")
    or die("Kunne ikke forbinde : " . mysql_error());
mysql_select_db("ficodk_db") or die("Fejl Database");

if($navn) {
mysql_query("INSERT INTO 'gc' ('id','navn','dato','email','Betalt') VALUES ('', '$navn', '$dato', '$email', '0')");

$q = ("SELECT id,email FROM gc WHERE email=$email");
$r = mysql_query($q) or die("Forespørgslen lykkedes ikke : " . mysql_error());
$r = mysql_fetch_array($r);
$id = $r[0];

$to      = $email;
$subject = "Global Cinema";
$message = "Kære ".navn."\n\nDu har tilmeldt dig DSU Helsingørs Global Cinema\nFor endelig tilmelding, skal du betale deltagergebyret på 50 kr.\nBetaling skal ske inden d. 19 januar til reg. nr.: 5357 og konto nr.: 0000671883\nNår betalingen er sket, vil du modtage en mail.\n\nMed venlig hilsen\nDSU Helsingør";
$headers = "From: fico@dui.dk"."\r\n"."Reply-To: fico@dui.dk"."\r\n"."X-Mailer: PHP/".phpversion();

mail($to, $subject, $message, $headers);
}
Avatar billede coderdk Praktikant
06. januar 2007 - 17:21 #1
Hvorfor vil du det? Du bruger ikke ID til noget efterfølgende, og du har email og navn.

mysql_connect("Server", "Adm", "Pass")
    or die("Kunne ikke forbinde : " . mysql_error());
mysql_select_db("ficodk_db") or die("Fejl Database");

if($navn) {
mysql_query("INSERT INTO 'gc' ('id','navn','dato','email','Betalt') VALUES ('', '$navn', '$dato', '$email', '0')");

$to      = $email;
$subject = "Global Cinema";
$message = "Kære ".$navn."\n\nDu har tilmeldt dig DSU Helsingørs Global Cinema\nFor endelig tilmelding, skal du betale deltagergebyret på 50 kr.\nBetaling skal ske inden d. 19 januar til reg. nr.: 5357 og konto nr.: 0000671883\nNår betalingen er sket, vil du modtage en mail.\n\nMed venlig hilsen\nDSU Helsingør";
$headers = "From: fico@dui.dk"."\r\n"."Reply-To: fico@dui.dk"."\r\n"."X-Mailer: PHP/".phpversion();

mail($to, $subject, $message, $headers);
}

Hvis du endelig vil have ID'et kan du bruge mysql_insert_id(), for at checke at den også blev indsæt kan du bruge mysql_affected_rows()
Avatar billede fico Nybegynder
06. januar 2007 - 17:27 #2
Hov, der mangler noget i mail-teksten. Folk skal sende bruge id-nummeret til registrering af penge, så det skal stå i teksen.
Avatar billede coderdk Praktikant
06. januar 2007 - 17:32 #3
Min kommentar er stadig gyldig ;)
Avatar billede fico Nybegynder
06. januar 2007 - 18:02 #4
Hvordan virker mysql_insert_id()? Jeg kigget lidt på php.net, men uden held til at forstå.
Avatar billede coderdk Praktikant
06. januar 2007 - 18:10 #5
mysql_query("INSERT INTO 'gc' ('id','navn','dato','email','Betalt') VALUES ('', '$navn', '$dato', '$email', '0')");
$id = mysql_insert_id();

:) så har du id'en - såfremt id er auto_increment
Avatar billede fico Nybegynder
06. januar 2007 - 18:18 #6
:D takker...

men den giver kun værdien 0, men jeg har lige tjekket denskrvier heller intet til databasen.
Avatar billede fico Nybegynder
06. januar 2007 - 19:41 #7
Takker det virker:D
Avatar billede coderdk Praktikant
06. januar 2007 - 19:50 #8
(c;
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