Gå til innhold

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


Anbefalte innlegg

Skrevet (endret)

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
Videoannonse
Annonse
Skrevet

Enten slik:

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

 

eller slik:

$update = "UPDATE `cd_register` SET hylle_nr = $h_nr";

Skrevet
En UPDATE spørring uten en WHERE klausul? Ønsker du å oppdatere alle rader?

OPS, nei. Bra du nevnte det

 

Her er den jeg tenkte å bruke

 

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

Skrevet

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;

Skrevet (endret)

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
Skrevet (endret)

$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
Skrevet (endret)

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

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...