简体   繁体   English

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

[英]Fatal error: Uncaught PDOException: SQLSTATE[42000]:

I keep getting this error message:我不断收到此错误消息:

Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;致命错误:未捕获的 PDOException:SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE profile_id = '20' AND user_id = '2'' at line 4 in C:\MAMP\htdocs\JavaScript module\Week 3\edit.php:71 Stack trace: #0 C:\MAMP\htdocs\JavaScript module\Week 3\edit.php(71): PDOStatement->execute(Array) #1 {main} thrown in C:\MAMP\htdocs\JavaScript module\Week 3\edit.php on line 71查看与您的 MySQL 服务器版本对应的手册,了解在 C:\MAMP\htdocs\JavaScript module\Week 3\edit 中第 4 行的 'WHERE profile_id = '20' AND user_id = '2'' 附近使用的正确语法。 php:71 堆栈跟踪:#0 C:\MAMP\htdocs\JavaScript 模块\第 3 周\edit.php(71): PDOStatement->execute(Array) #1 {main} throw in C:\MAMP\htdocs\JavaScript module\Week 3\edit.php 第 71 行

I've tried looking online, and I don't think any of these are reserved words, so I can't see where I'm going wrong.我试过在线查看,但我认为这些都不是保留字,所以我看不出哪里出错了。 This code worked previously for a different database.此代码以前适用于不同的数据库。 How can I fix this problem?我该如何解决这个问题?

Code (line 71 is the penultimate one ( ':su' => $_POST['summary']) )):代码(第 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'])
);

You have an extra comma before WHERE你在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');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 致命错误:未捕获的 PDOException:删除中的 SQLSTATE[42000] - Fatal error: Uncaught PDOException: SQLSTATE[42000] in DELETE 致命错误:未捕获的 PDOException:SQLSTATE[42000] - Fatal error: Uncaught PDOException: SQLSTATE[42000] 致命错误:未捕获的异常 'PDOException',消息为 'SQLSTATE[42000]: - Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: PHP致命错误:消息为'SQLSTATE [42000]的未捕获异常'PDOException' - PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000] PHP致命错误:消息为'SQLSTATE [42000]的未捕获异常'PDOException': - PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: 致命错误:带有消息'SQLSTATE [42000]的未捕获异常'PDOException':语法错误或访问冲突PHP和PDO - Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation PHP & PDO 致命错误:消息为“ SQLSTATE [42000]”的未捕获异常“ PDOException”:语法错误或访问冲突:1064 - Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 致命错误:未捕获的 PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 PHP8.1.x - Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 PHP8.1.x 消息为“ SQLSTATE [42000]”的未捕获异常“ PDOException”:语法错误或访问冲突: - Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 未捕获的 PDOException: SQLSTATE[42000]: 语法错误或访问冲突 - Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM