致命错误:未捕获的PDOException:SQLSTATE [42000]:

时间:2018-02-27 11:11:45

标签: php mysql pdo

我不断收到此错误消息:

  

致命错误:未捕获PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法出错;检查与您的MySQL服务器版本相对应的手册,以便在C:\ MAMP \ htdocs \ JavaScript模块\ Week 3 \ edit中的第4行'WHERE profile_id ='20'和'user_id ='2''附近使用正确的语法。 php:71堆栈跟踪:#0 C:\ MAMP \ htdocs \ JavaScript模块\第3周\ edit.php(71):PDOStatement->执行(数组)#1 {main}抛出C:\ MAMP \ htdocs \第71行的JavaScript模块\ Week 3 \ edit.php

我试过在网上看,我认为这些都不是保留字,所以我看不出哪里出错了。这个代码以前用于不同的D / B,我花了最近两天试图找出我出错的地方。请有人帮帮我

由于

代码(第71行是倒数第二个(':su'=> $ _POST ['summary']))):

$stmt = $pdo->prepare('UPDATE Profile SET 
         first_name = :fn, last_name = :ln,
         email = :em, headline = :he, summary = :su, 
         WHERE profile_id = :pid AND user_id = :uid');
    $stmt->execute(array(
         ':pid' => $_REQUEST['profile_id'],
         ':uid' => $_SESSION['user_id'],
         ':fn' => $_POST['first_name'],
         ':ln' => $_POST['last_name'],
         ':em' => $_POST['email'],
         ':he' => $_POST['headline'],
         ':su' => $_POST['summary'])
    );

1 个答案:

答案 0 :(得分:0)

WHERE

之前有一个额外的逗号
$stmt = $pdo->prepare('UPDATE Profile SET 
     first_name = :fn, last_name = :ln,
     email = :em, headline = :he, summary = :su 
     WHERE profile_id = :pid AND user_id = :uid');