Avatar billede arthurogolsen Nybegynder
09. september 2009 - 19:12 Der er 3 kommentarer

Opdatering virker ikke længere

Denne her er kode har virket i årevis . Kan nogen mon fortælle mig hvorfor den ikke længere gør, webhotellet har lige opgraderet PHP-versionen , men jeg har ingen anelse om hvor det har betydning i min kode.

Her er koden (har dog udeladt www - adressen). --->>

<?php include("/hotel/ADRESSENUDELADT/WWW/phplib/php/prepend.inc");



function vis_rediger() {
?>
<html>
<head>
<title>Redigering af auktionsemner i auktionsdatabasen</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>




<?php $db = new den_db;
  $db->query("SELECT * FROM auktionemner where auknr='1' ");
    if ($db->num_rows() > 0):  while ($db->next_record())
      {  ?>
<table> 
  <form name="updateform" action="<?php echo $PHP_SELF ?>" method=post>
          <input type="hidden" name="cmd" value="update">
          <input type="hidden" name="sorteft" value="pris"> 
          <input type="hidden" name="id" value="<?php echo $db->f('id') ?>">
          <tr><td rowspan="4" ><img border="0" src="http://www.ADRESSENUDELADT.dk/auktion<?php echo $db->f('auknr')?>/<?php echo $db->f('pic')?>.JPG" width="100" ></td><td><b>Billede : <?php echo $db->f('pic') ?>.jpg Auktionsnummer :<?php echo $db->f('auknr') ?> </b></td></tr>
          <tr><td>Type <br>(0=inaktiv 1=møbler 2=malerier 3=varia)<br><input type="text" name="type" size=4 value="<?php echo $db->f('type') ?>"></td></tr>
          <tr><td>Beskrivelse : <br><textarea name="beskrivelse" rows="6" cols="75"><?php echo $db->f('beskrivelse') ?>
Avatar billede erikjacobsen Ekspert
09. september 2009 - 19:33 #1
Vi når ikke ned til hvor du opdaterer - men måske: Henter du et felt med fx $cmd, skal du i nyere versioner af PHP hente feltet med $_POST['cmd']
Avatar billede arthurogolsen Nybegynder
09. september 2009 - 19:49 #2
Således slutter koden :

<?php }
   
     
      function do_update(){ global $id, $auknr, $type, $beskrivelse, $pris;
            $db = new den_db;
              $db->query("update auktionemner set type='$type' , beskrivelse='$beskrivelse',  pris='$pris' where id=$id ");
                vis_rediger(); }
     
     
           

if ($cmd == "update") { do_update(); }

else                    { vis_rediger(); } ?>

____________________

Hvis jeg udskifter $cmd med $_POST['cmd'] får jeg :

Database error: Invalid SQL: update auktion set overskrift='' , beskrivelse='', arkiv='' where id=
MySQL Error: 1064 (You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1)
Session halted.
Avatar billede erikjacobsen Ekspert
09. september 2009 - 20:40 #3
Ja, du skal gøre det for alle felter i formen.
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