PDO 请求导致 500 内部服务器错误

Posted

技术标签:

【中文标题】PDO 请求导致 500 内部服务器错误【英文标题】:PDO Request Causing 500 Internal Server Error 【发布时间】:2010-10-26 23:36:58 【问题描述】:

由于某种原因,我的服务器不欢迎此 PDO 请求。它使服务器抛出 500 内部服务器错误。我所有的其他 php 文件都工作正常,我没有更改任何服务器设置。奇怪的是,似乎当我注释掉绑定变量 $u 的行时,它并没有给出 500 错误。我很困惑。

<?php

$u=$_GET["u"];

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form2")) 
$amount = isset($_POST['amount']) ? $_POST['amount'] : null;
if (null != $amount) 

$user = 'username';
$pass = 'password';
$pdo = new PDO('mysql:host=localhost', $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
session_start();
$tablename = $_SESSION['MM_Username'];
$query = sprintf("UPDATE `%s` SET `stock` = :amount WHERE `itemname` = :u", $tablename);
$stmt = $pdo->prepare($query);
$stmt->bindParam('u', $u);
$stmt->bindParam('amount', $amount);
$stmt->execute();



?>

【问题讨论】:

错误日志中有什么内容? 在我们说话的时候得到它们。一秒。 这里是错误消息:[Tue Oct 26 17:51:03 2010] [error] [client 127.0.0.1] user 'username' not found: /stats/error_logs/ $_SESSION['MM_Username'] 设置为什么?听起来它实际上是“用户名”,所以您的查询开始看起来像 UPDATE username SET stock... 【参考方案1】:

您的错误日志中将包含一条错误消息,告诉您您的问题。

【讨论】:

以上是关于PDO 请求导致 500 内部服务器错误的主要内容,如果未能解决你的问题,请参考以下文章

WordPress 安装插件导致 HTTP 500 内部服务器错误的问题

301 重写/重定向规则导致 500 内部服务器错误

返回 JsonResult 导致 500 内部服务器错误

Laravel:为啥我的 ajax 请求返回“500(内部服务器错误)”?

Laravel 5.7 ajax 请求 500(内部服务器错误)

HTTP 错误 500.19 - 在 IIS 上托管时出现内部服务器错误 [重复]