出于某种原因,我的服务器不欢迎此 PDO 请求。它使服务器抛出 500 内部服务器错误。我的所有其他 PHP 文件都工作正常,并且我没有更改任何服务器设置。但奇怪的是,似乎当我注释掉绑定(bind)变量 $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();
}
}
?>
最佳答案
您的错误日志中将包含一条错误消息,它会告诉您您的问题。
关于php - PDO 请求导致 500 内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4028882/