2015-06-03 7 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 Я просто ленив. Я уверен, что он может это понять –

Смежные вопросы