login  Naam:   Wachtwoord: 
Registreer je!
 Forum

INSERT - UPDATE

Offline DMM - 07/03/2007 18:06 (laatste wijziging 08/03/2007 11:46)
Avatar van DMMPHP beginner Hallo,

In mijn database heb ik 4 velden aangemaakt:
1) Naam
2) Veld
3) Name
4) Pass

Naam en Veld moeten gebruikers invullen in een formulier, dat je alleen maar kunt bekijken indien je ingelogd bent. Dit formulier wordt vervolgens opgeslaan en de administrator kan het bekijken.

Name en Pass zijn de gegevens die je nodig hebt om op de site in te kunnen loggen.
Nu zou ik graag hebben dat wanneer je de gegevens die je intypt in je formulier, opgeslaan worden in het veld naast Name en Pass.

Eerst en vooral dacht ik het zo te doen:

  1. $sql =
  2. "INSERT INTO gegevens
  3. (naam, veld)
  4. VALUES ('".mysql_real_escape_string($_POST['naam'])."'
  5. ,'".mysql_real_escape_string($_POST['veld'])."'
  6. )
  7. ON DUPLICATE KEY
  8. UPDATE
  9. veld = '".mysql_real_escape_string($_POST['veld'])."'
  10. WHERE
  11. name = '".mysql_real_escape_string($_SESSION['suser'])."'


Dan kreeg ik de tip om twee query's te maken: 1 voor de insert en 1 voor de update: http://www.plaatscode.be/4514/
Toch werkte dit nog niet. Weten jullie waar de fout zit?

Alvast bedankt

Met vriendelijke groeten,
David Roelandt

Citaat:
Rens edit:
Codetags!!!

3 antwoorden

Gesponsorde links
Offline SomaQan - 07/03/2007 18:56 (laatste wijziging 07/03/2007 18:57)
Avatar van SomaQan PHP beginner Maak er gewoon 2 querys van in plaats 1 voor 1

Dit kan zo
  1. <?php
  2. $sql =("INSERT INTO gegevens (naam,veld)
  3. VALUES ('$naam','$veld'")
  4. )
  5. ?>
Offline DMM - 07/03/2007 20:39 (laatste wijziging 08/03/2007 11:46)
Avatar van DMM PHP beginner Euhm, dit lukt mij niet meteen...
Zou u het ander iets preciezer willen uitleggen?

Alvast bedankt

Bedoelde u zoiets:

  1. $sql =
  2. "INSERT INTO gegevens
  3. (naam, veld)
  4. VALUES ('".$_POST['naam']."', '".$_POST['veld']."') ON DUPLICATE KEY veld='".$_POST['veld']."'";
  5.  
  6.  
  7. $sql =
  8. "UPDATE gegevens SET veld='".$_POST['veld']."' WHERE name='".$_SESSION['suser']."'";


Citaat:
Rens edit:
Codetags!!!
Offline Brix - 08/03/2007 10:50 (laatste wijziging 08/03/2007 10:51)
Avatar van Brix Nieuw lid Wat er hier gebeurd is dat je $sql met SELECT overschrijft met $sql UPDATE

maak er dan een if statement om heen
  1. $query = mysql_query("SELECT naam FROM gegevens WHERE naam = '".$_POST['naam']."'") or die(mysql_error());
  2.  
  3. $row = mysql_fetch_assoc($query);
  4.  
  5. if($row['naam'] == $_POST['naam']) {
  6. $sql = "UPDATE gegevens SET veld = '".mysql_real_escape_string($_POST['veld'])."'";
  7. }else{
  8. $sql = "INSERT INTO gegevens
  9. (naam, veld)
  10. VALUES ('".mysql_real_escape_string($_POST['naam'])."'
  11. ,'".mysql_real_escape_string($_POST['veld'])."'
  12. )
  13. WHERE name = '".mysql_real_escape_string($_SESSION['suser'])."'";
  14. }


Hoop dat je er zo wat aan hebt
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.195s