2017-09-01 20 views
-1

PHP post-requestを使用してMySqlテーブルを更新しようとしています。問題は、私のテーブルが更新されていない投稿を使用する場合です。私がget-requestを使用するとき、それは行います。 get-requestが十分に大きくないように画像を更新する必要があるので、私は投稿を使用する必要があります。誰かが私を助けることができますか?php postのリクエストを使用してmysqlテーブルを更新する

<?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); 
+1

変数を代入する代わりに準備クエリを使用してください。 – Barmar

+0

'var_dump($ _ POST)'とは何ですか? – Barmar

+0

'' $ foto'の後に引用符がありません。 'foto'の回りにバッククォートの代わりに引用符をつけています。 – Barmar

答えて

0

フォームにメソッド=「投稿」を追加します。イメージをアップロードするので、フォームにenctype = "multipart/form-data"を追加することを忘れないでください。あなたは、SQLの間違いを引用している

例えば

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

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

しかし、SQLインジェクションを防ぐために、準備されたクエリを使用する方が良いでしょう。

$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); 
} 
関連する問題