doq1969 2015-06-03 22:00
浏览 28
已采纳

Sql Update错误[关闭]

My site's panel.php page shows users account information. The page shows data in inputs and users can update but there is a error when they click update button.

I took this error;

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(fname, lname, mail, password, country, sex, facebook, twitter, instagram, snapc' at line 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];

?>
  • 写回答

2条回答 默认 最新

  • dongmiyi8220 2015-06-03 22:08
    关注

    You need to change your query like below:-

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

    Note:- it will be better if you parameterized. your last SESSION value also in the same way.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度