Gå til innhold

Update MySQL fra en form, Syntaks feil nær "


Anbefalte innlegg

Hei, bruker et form som sendes til update() funksjonen, via et object og en klasse.

 

Hva er galt i syntaksen her?

function update($h_nr)
 	{
 	
 	$this->h_nr = $h_nr;
 	
 	
 	
      $update = "UPDATE `cd_register` SET hylle_nr = $this->h_nr";
     $this->result = mysql_query($update)
     || die(mysql_error());

 

Takker for alle svar

Endret av robgar
Lenke til kommentar
Videoannonse
Annonse

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 'WHERE = 2 SET hylle_nr =' at line 1

 

var feilmeldingen jeg fikk på denne:

 

$update = "UPDATE `cd_register` WHERE = " .$this->edit. " SET hylle_nr = ".$this->h_nr;

Lenke til kommentar

jeg skal bare oppdatere en rad i en kollone

 

Skal oppdaterere kollonne: 'hylle_nr' i rad: 'nr' = det nummeret jeg skal oppdataere f.eks 1

 

der 'nr' har samme verdi som raden den er på (auto_increment) -1 (mysql starter vel på 0?)

Endret av robgar
Lenke til kommentar

$update = "UPDATE `cd_register` SET `hylle_nr`= '" . $this->h_nr . "' WHERE `feltsomskalhaverdiensomthis->editspesifiserer`= '" . $this->edit . "'";

 

Var endel store hull i spørringen. Du må ha noe WHERE kan forholde seg til, ellers oppdaters vel alle rader? [ sql ] - taggen er forresten ganske grei. ;)

Endret av jorgis
Lenke til kommentar

Får det fremdeles ikke til å virk...

 

Oki, her er utgangs punktet i scriptet mitt:

 

Har en funksjon som heter sorter_by($sorter)

 

Den generer frem en side med all data i db'en min (i den tabellen(cd_register))

 

For hver kategori (Kollonne) legger den til en radio med navnet (sorter) og verdien 'Navn på kollonne som skal sorteres'

 

For hver rad lager den en radio med navnet 'cd_nr' og verdien 'fetchet_string['nr']'

Der nr tilsvarer id. (bare i skjul av et annet navn i tabellen)

 

OM man klikker på en av "Sorterings" radioene og trykker på form knappen, vil siden sortere etter den kollonen ("ORDER BY kollonne...")

 

 

OM man klikker på en av "cd_nr" radioene og trykker på form knappen:

Vil det komme opp en ny form:,

 

Med en <input type="text"> for hver kollonne, untatt nr, i rad (nr=$_POST['cd_nr'];)

 

De virker fint og er avskildt fra hverandre ved en if test:.

if(!empty($cd_nr))
{
  $obj->update($cd_nr, $h_nr);
}
else
{
  $obj->sort_by($sorter);
}

 

 

cd_nr:

 

if (is_numeric($_POST['cd_nr']))
{
  $cd_nr = $_POST['cd_nr'];
}

 

 

Nå vil jeg at jeg ved hjelp av den nye genererte formen, kan oppdatere verdi i den raden.

 

 

 

function update($cd_nr, $h_nr)
 	{
 	$this->h_nr = $h_nr;
 	$this->edit = $cd_nr;
 	
 	if (!empty($this->h_nr))
   {
      $update = "UPDATE `cd_register` SET `hylle_nr`= '" . $this->h_nr . "' 
     WHERE `nr`= '" . $this->edit . "'"; 
     
     $this->result = mysql_query($update)
     || die(mysql_error());
    }


$select = mysql_query("SELECT * FROM `cd_register` WHERE `nr`=$cd_nr");
      
       while ($f_select = mysql_fetch_array($select))
     	{
         	print('DEN NYE FORMEN, PÅ EN RAD')
}
}


 

Hva er galt?

Endret av robgar
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...