使用PHP/PDO-dosn';我不能在学校工作

使用PHP/PDO-dosn';我不能在学校工作,php,Php,我的代码有问题,它在我添加了id更新后停止工作,我不知道问题出在哪里,我在互联网上找到了很多代码来更新MySQL记录,但我发现这是我可以得到的easeiar代码,这就是为什么我需要你们的帮助 来源于学校 PHP代码: <?php $servername = "localhost";$username = "";$password = "";$dbname = ""; $id=$_GET['id']; try { $conn = new PDO("mysql:host=$serverna

我的代码有问题,它在我添加了id更新后停止工作,我不知道问题出在哪里,我在互联网上找到了很多代码来更新MySQL记录,但我发现这是我可以得到的easeiar代码,这就是为什么我需要你们的帮助 来源于学校

PHP代码:

<?php
$servername = "localhost";$username = "";$password = "";$dbname = "";
$id=$_GET['id'];

try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $conn->prepare("SELECT title, caption, url, main_image, ordering, state FROM slide WHERE id='$id'"); 
$stmt->execute();

// set the resulting array to associative
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);    
        foreach($stmt->fetchAll() as $key=>$val)
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$title = $_POST["title"];
$caption = $_POST["caption"];
$sql = "UPDATE slide SET title='$title', caption='$caption' WHERE id='$id'";
// Prepare statement
$stmt = $conn->prepare($sql);
// execute the query
$stmt->execute();
// echo a message to say the UPDATE succeeded
header("Location: edit.php?id=$id");
}  
}      
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>

您使用GET作为id,而使用POST作为$title和$caption。他们不可能都对。

我刚换了一个

if ($_SERVER["REQUEST_METHOD"] == "POST") {

然后我就搬走了

action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"
action=“”

从表单中,我将提交名称替换为save而不是submit

您有一个try/catch块,有错误返回吗?@Steve错误日志总是空的。请向我们展示函数mySuccessFunction。@dakis我的问题解决了以下问题。祝你好运。
if(isset($_POST['save'])) {
action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"