Uppdatera en rad i en tabell värden från variabler.

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
poj



Medlem i: 5124 dagar
Från: Bor. Småland
Status: Offline



#742308
Inlägg Skrivet: 2018-10-01 18:29      Ämne: Uppdatera en rad i en tabell värden från variabler. Citera

Hämtar in data från ett formulär till en actionsida men får bara felmeddelanden. Jag får med all information i variablerna men kan inte skriva update koden rätt, det är en rad som ska uppdateras.
KOD:
1:
 
2:
<?php echo (isset($_GET['recordID'])?$_GET['recordID']:""); ?>
3:
 
4:
<?php echo (isset($_POST['serie1'])?$_POST['serie1']:""); ?>
5:
<?php echo (isset($_POST['serie2'])?$_POST['serie2']:""); ?>
6:
<?php echo (isset($_POST['serie3'])?$_POST['serie3']:""); ?>
7:
<?php echo (isset($_POST['serie4'])?$_POST['serie4']:""); ?>
8:
<?php echo (isset($_POST['resultat'])?$_POST['resultat']:""); ?>
9:
<?php echo (isset($_POST['serier'])?$_POST['serier']:""); ?>
10:
<?php echo (isset($_POST['banp'])?$_POST['banp']:""); ?>
11:
 


recordID är id raden i tabellen som ska uppdateras, tabellen heter "test", variablerna är döpta efter tabellkolumnen, serie1, serie2,serie3,serie4, resultat,serier och banP.

Hur skriver jag sql koden? (All data är Integer)

Nybörjare.
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4557 dagar
Från: Tavesta
Status: Offline



#742309
Inlägg Skrivet: 2018-10-01 20:58      Ämne: Citera

Exakt hur du gör beror på vilket databas-api du använder.
Om du använder preparerade databasfrågor i sin enklaste form blir sql-koden så här:
KOD:
1:
UPDATE test SET serie1=?, serie2=?, serie3=?, serie4=?, resultat=?, serier=?, banP=? WHERE recordID=?

I annat fall kan du bädda in datat direkt om du drar det genom funktionen intval():
PHP:
1:
 'UPDATE test SET serie1='.intval($_POST['serie1']).', serie2='... 
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
poj



Medlem i: 5124 dagar
Från: Bor. Småland
Status: Offline



#742310
Inlägg Skrivet: 2018-10-01 21:29      Ämne: Citera

Jag får ett syntaxfel enligt Dreamweaver på raden med SET. Jag kan inte se vad som är fel.
KOD:
1:
 
2:
<?php
3:
mysqli_query( 
4:
      "UPDATE test
5:
  SET serie1='.intval($_POST['serie1']).',
6:
      serie2='.intval($_POST["serie2']).',
7:
      serie3='.intval($_POST["serie3']).',
8:
      serie4='.intval($_POST["serie4']).',    
9:
    resultat='.intval($_POST["resultat']).',
10:
      serier='.intval($_POST["serier']).',   
11:
      banp='.intval($_POST["banp']).'
12:
      WHERE recordID=id
13:
   );
14:
?>
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4816 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#742311
Inlägg Skrivet: 2018-10-01 22:16      Ämne: Citera

Du blandar enkelfnuttar med dubbelfnuttar helvilt i den där kodsnutten. Var konsekvent och följ php stränghantering så kommer det gå bättre.
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
poj



Medlem i: 5124 dagar
Från: Bor. Småland
Status: Offline



#742320
Inlägg Skrivet: 2018-10-03 19:07      Ämne: Citera

Jag har fått bort felmeddelandet men inget sätts in i tabellen
KOD:
1:
 
2:
<?php
3:
mysqli_query( $teamet_i,
4:
      'UPDATE test
5:
  SET serie1='.intval($_POST['serie1']).',
6:
      serie2='.intval($_POST['serie2']).',
7:
      serie3='.intval($_POST['serie3']).',
8:
     serie4='.intval($_POST['serie4']).',    
9:
     resultat='.intval($_POST['resultat']).',
10:
      serier='.intval($_POST['serier']).',   
11:
      banp='.intval($_POST['banp']).'
12:
      WHERE id=recordID
13:
   ');
14:
?>
15:
 


Någonting är fel men vad?
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4816 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#742321
Inlägg Skrivet: 2018-10-03 19:24      Ämne: Citera

Hur ser din WHERE del ut, stämmer den?
Fånga upp eventuella felmeddelanden från sql servern med lämplig funktion typ mysqli_error()
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
poj



Medlem i: 5124 dagar
Från: Bor. Småland
Status: Offline



#742322
Inlägg Skrivet: 2018-10-03 19:54      Ämne: Citera

Då får jag Error description: Unknown column 'recordID' in 'where clause' 3050.
Detta oberoende om jag har recordID eller id först.
id är kolumnen i tabellen, recordid är variablen på rad numret som ska uppdateras.

Jag får variablen med
KOD:
1:
<?php echo (isset($_GET['recordID'])?$_GET['recordID']:""); ?>


Jag vet inte hur jag ska skriva det rätt?
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4816 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#742323
Inlägg Skrivet: 2018-10-03 20:09      Ämne: Citera

Ska inte recordid vara en variabel då?
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
poj



Medlem i: 5124 dagar
Från: Bor. Småland
Status: Offline



#742324
Inlägg Skrivet: 2018-10-03 20:23      Ämne: Citera

Jo det är en variabel men jag vet inte hur det ska skrivas in.

Edit: Detta verkar fungera, är det rätt?
KOD:
1:
 
2:
WHERE id='.($_GET['recordID']).'
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4816 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#742328
Inlägg Skrivet: 2018-10-07 07:49      Ämne: Citera

Teknisk så ja, säkehetsmässigt har du en del att jobba på.
Att tjonga in användarinput direkt i SQL frågan utan att kontrollera den är ett big NONO.
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
poj



Medlem i: 5124 dagar
Från: Bor. Småland
Status: Offline



#742330
Inlägg Skrivet: 2018-10-07 20:22      Ämne: Citera

Vad exakt är det jag ska kontrollera och hur?
Jag är nybörjare.
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4816 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#742331
Inlägg Skrivet: 2018-10-07 22:40      Ämne: Citera

Börja med denna http://www.phpportalen.net/viewtopic.php?t=72202
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic