-1

So I am trying to update my MySql table using php post-request. The problem is when I use post my table isn't updating. When I use get-request it does. I need to use post because I need to update an image so get-request is not big enough. Can somebody help me?

<?php

    $persoonID = $_POST['persoonID'];
    $foto = $_POST['foto'];
    $telefoonnummer = $_POST['telefoonnummer'];
    $email = $_POST['email'];
    $adresID = $_POST['adresID'];
    /*
    $persoonID = $_GET['persoonID'];
    $foto = $_GET['foto'];
    $telefoonnummer = $_GET['telefoonnummer'];
    $email = $_GET['email'];
    $adresID = $_GET['adresID'];
     */
    require_once('dbConnect.php');
    $sql = "    UPDATE Personen SET `Telefoonnummer`='$telefoonnummer',`Email`='$email',`AdresID`='$adresID', 'foto' = '$foto  WHERE PersoonID = $persoonID";
    if(mysqli_query($con,$sql)){
        echo 'Succes';
    }else{
        echo 'Er is iets fout gelopen tijdens het wijzigen, probeer opnieuw!!';
    }
    mysqli_close($con);
Barmar
  • 741,623
  • 53
  • 500
  • 612
Mickey Evers
  • 151
  • 2
  • 4
  • 12

2 Answers2

0

Add method="post" on your form. Since you'll be uploading an image, don't forget to add enctype="multipart/form-data" on the form.

E.g

<form action="somewhere.php" method="post" enctype="multipart/form-data">
...your form fields here
</form>
hemor
  • 51
  • 2
0

You have quoting mistakes in the SQL.

$sql = "UPDATE Personen SET `Telefoonnummer`='$telefoonnummer',`Email`='$email',`AdresID`='$adresID', `foto` = '$foto'  WHERE PersoonID = $persoonID";

But it would be better to use a prepared query, to prevent SQL injection.

$stmt = mysqli_prepare($con, "UPDATE Personen SET `Telefoonnummer` = ?, `Email` = ?, `AdresID` = ?, `foto` = ? WHERE PersoonID = ?";
mysqli_stmt_bind_param($stmt, "ssssi", $telefoonnummer, $email, $adresID, $foto, $persoonID);
if (mysqli_stmt_execute($stmt)) {
    echo 'Succes';
}else{
    echo 'Er is iets fout gelopen tijdens het wijzigen, probeer opnieuw!!';
    echo mysqli_stmt_error($stmt);
}
Barmar
  • 741,623
  • 53
  • 500
  • 612