2015-06-03 63 views
0

我的網站的panel.php頁面顯示用戶帳戶信息。該頁面顯示輸入中的數據,用戶可以更新,但點擊更新按鈕時會出現錯誤。Sql更新錯誤

我拿了這個錯誤;

您的SQL語法錯誤;檢查 對應於你的MySQL服務器版本使用 附近 '(FNAME,LNAME,郵箱,密碼,國家,性別,Facebook,微博, 的Instagram,snapc' 在行正確的語法手冊1

Panel.php

<form action="panelpost.php" method="post"> 
First name: <input type="text" name="fname" value="<?php echo $row1['fname']; ?>"><br> 
Last name: <input type="text" name="lname" value="<?php echo $row1['lname']; ?>"><br> 
Mail: <input type="text" name="mail" value="<?php echo $row1['mail']; ?>"><br> 
Password: <input type="text" name="password" value="<?php echo $row1['password']; ?>"><br> 
Country: <input type="text" name="country" value="<?php echo $row1['country']; ?>"><br> 
Sex: <input type="text" name="sex" value="<?php echo $row1['sex']; ?>"><br> 
Facebook: <input type="text" name="facebook" value="<?php echo $row1['facebook']; ?>"><br> 
Twitter: <input type="text" name="twitter" value="<?php echo $row1['twitter']; ?>"><br> 
Instagram: <input type="text" name="instagram" value="<?php echo $row1['instagram']; ?>"><br> 
Whatsapp: <input type="text" name="whatsapp" value="<?php echo $row1['snapchat']; ?>"><br> 
    <input type="submit" value="Update"> 
</form> 

panelpost.php

<?php 

include('connect.php'); 
session_start(); 

    $baslik = $_POST["fname"]; 
    $icerik = $_POST["lname"]; 
    $footer = $_POST["mail"]; 
    $baslik1 = $_POST["password"]; 
    $icerik1 = $_POST["country"]; 
    $footer1 = $_POST["sex"]; 
    $baslik2 = $_POST["facebook"]; 
    $icerik2 = $_POST["twitter"]; 
    $footer2 = $_POST["instagram"]; 
    $baslik3 = $_POST["snapchat"]; 

    $sql = $db->prepare("UPDATE uyeler SET (fname, lname, mail, password, country, sex, facebook, twitter, instagram, snapchat) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) WHERE mail ='{$_SESSION['kullanici']}'"); 
    $ekle = $sql->execute(array(

     $baslik, 
     $icerik, 
     $footer, 
     $baslik1, 
     $icerik1, 
     $footer1, 
     $baslik2, 
     $icerik2, 
     $footer2, 
     $baslik3, 

     )); 

    $hata = $sql->errorInfo(); 
    echo empty($hata[2]) ? "Başarılı Bir Şekilde Çalıştı." : $hata[2]; 

?> 
+1

刪除'SET' –

+0

從查詢中刪除'SET'並檢查。 –

+0

我刪除了,但錯誤仍然存​​在。我採取同樣的錯誤 – Can

回答

0

您需要更改您的查詢象下面這樣: -

$sql = $db->prepare("UPDATE uyeler SET fname=?, lname=?, mail=?, password=?, country=?, sex=?, facebook=?, twitter=?, instagram=?, snapchat=? WHERE mail ='{$_SESSION['kullanici']}'"); 

注意: - 它會更好,如果你parameterized。您的最後SESSION價值也以同樣的方式。

+0

非常感謝你:)。這些是固定的:) – Can

+0

SESSION值也應參數化。 – chris85

+0

我剛添加了評論。並感謝您的接受。 –

0

您的UPDATE查詢是錯誤的。您必須爲每列明確賦值

$sql = $db->prepare("UPDATE uyeler SET fname = ?, lname = ?, ... WHERE mail ='{$_SESSION['kullanici']}'"); 
+0

非常感謝你 – Can

+0

在代碼中有'....'是否正確? –

+0

@anantkumarsingh我只是懶惰。我相信他可以算出來 –