【发布时间】: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...