Avatar billede flymem Nybegynder
25. februar 2003 - 09:22 Der er 6 kommentarer og
1 løsning

Opdatere i database vha. php

Jeg er blevet noget rusten i php og har følgende problem.
Når jeg vil opdatere i en database vha. php, så virker det ikke. Se følgende udsnit:

//admin.php
  <form action="opdateraar.php" method="POST">
    Indtast år: <input type=text name=aar><br>
    Indtast uge: <input type=text name=uge><br>
    Indtast ledig: <input type=text name=ledig><br>
    <input type=submit>
  </form>

//opdateraar.php
<?php
  $conn = mysql_connect("*****", "*****", "******");
  mysql_select_db("******");

  $aar = mysql_query("SELECT Uge, Aar, Pris, Ledig from Uge WHERE Aar=$aar AND Uge=$uge") or die ("Query failed");

  mysql_query("UPDATE Uge SET Ledig=$ledig WHERE Aar=$aar AND Uge=$uge");
?>

Nogen der kan se hvad jeg gør forkert??
Avatar billede Slettet bruger
25. februar 2003 - 09:31 #1
Prøv med nedenstående:
$sql = "UPDATE Uge SET Ledig='".addslashes($ledig)."' WHERE Aar='$aar' AND Uge='$uge'":
mysql_query($sql);

du bør nok også køre noget validering på dit input!?
Avatar billede avminarm Juniormester
25. februar 2003 - 09:31 #2
hvis du kører med en php version der er nyere end 4.2.0 - skal du tilgå dine variabler med $_POST[var]

<?php
  $conn = mysql_connect("*****", "*****", "******");
  mysql_select_db("******");

  $aar = mysql_query("SELECT Uge, Aar, Pris, Ledig from Uge WHERE Aar=$_POST[aar] AND Uge=$_POST[uge]") or die ("Query failed");

  mysql_query("UPDATE Uge SET Ledig=$ledig WHERE Aar=$_POST[aar] AND Uge=$_POST[uge]");
?>
Avatar billede schaefner Juniormester
25. februar 2003 - 09:32 #3
Utestet, men prøv med:

<?php
  $conn = mysql_connect("*****", "*****", "******");
  mysql_select_db("******");

  $aar = mysql_query("SELECT Uge, Aar, Pris, Ledig from Uge WHERE Aar='$_POST[aar]' AND Uge='$_POST[uge]'") or die ("Query failed");

  mysql_query("UPDATE Uge SET Ledig='$_POST[ledig]' WHERE Aar='$_POST[aar]' AND Uge='$_POST[uge]'") or die(mysql_error());
?>

Hvad bruger du igrunden din første select til?
Avatar billede avminarm Juniormester
25. februar 2003 - 09:33 #4
og self $_POST[ledig] og skal det være helt korrekt bør du nok:

Ledig='".$_POST['ledig']."'

for alle variablerne
Avatar billede exp Juniormester
25. februar 2003 - 09:34 #5
Og så er det altid en god idé at huske apostroffer:

//admin.php
  <form action="opdateraar.php" method="POST">
    Indtast år: <input type="text" name="aar"><br>
    Indtast uge: <input type="text" name="uge"><br>
    Indtast ledig: <input type="text" name="ledig"><br>
    <input type="submit">
  </form>

//opdateraar.php
<?php
  $conn = mysql_connect("*****", "*****", "******");
  mysql_select_db("******");

  $aar = mysql_query("SELECT 'Uge', 'Aar', 'Pris', 'Ledig' from 'Uge' WHERE 'Aar'=$aar AND 'Uge'=$uge") or die ("Query failed");

  mysql_query("UPDATE 'Uge' SET `Ledig`='$ledig' WHERE `Aar`='$aar' AND `Uge`='$uge'");
?>
Avatar billede avminarm Juniormester
25. februar 2003 - 10:00 #6
Jammen sikke en masse info på kort tid ;o)
Avatar billede flymem Nybegynder
25. februar 2003 - 10:06 #7
Det er jo helt overvældende.....

Schaefner du får pointene, det var helt rigtigt som du skrev...
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