gpt4 book ai didi

php - PDO MySQL 更新在编辑页面上无法正常工作

转载 作者:行者123 更新时间:2023-11-29 11:44:33 24 4
gpt4 key购买 nike

“测验”当前包含测验 ID、名称、描述和主题(来自主题表)。

我想设置一个简单的“编辑测验”页面。

问题是 - 如果测验名为“Quiz1”,并且我将编辑页面上的测验名称更改为“Quiz2”,则单击保存按钮后,它将恢复为“Quiz1”并且不会存储。

我已经设置了一个回显,如代码中所示,以检查它们是否确实被存储,单击保存按钮后,它将显示“Quiz1”,但该值未存储在我的数据库中。 SQL 已经在 PhpMyAdmin 上进行了测试,似乎也可以工作。

PHP 代码:

<? if (!empty($_POST)) {

$id = $_POST['qzid'];
$qzname = $_POST['qzname'];
$qzdesc = $_POST['qzdesc'];
$ctname = $_POST['ctname'];

$checkQuiz = $db->prepare("SELECT qz_name FROM quizzes WHERE qz_name = :qz_name");
$checkQuiz->execute(array(':qz_name' => $qzname));


$qzChanged = "Quiz details updated successfully";
$sql = "UPDATE quizzes SET `qz_name` = :qzname, `qz_desc` = :qzdesc WHERE `quizzes`.`id` = :qzid";
$q = $db->prepare($sql);
$q->execute(array(':qzname' => $qzname, ':qzdesc' => $qzdesc, ':qzid' => $id));

echo $qzname, $qzdesc; //THIS RETURNS THE CHANGED VALUES

}?>

HTML 代码:

<form action="edit_quiz.php?id=<?php echo $row['id'] ?>" method="POST">
<input type="hidden" name="qzid" id="qzid" value=""/>
<!-- selection box -->
<p>Topic Name:
<select class="form-control" name="ctname" id="ctname">
<?php
while ($tresult = $stmt->fetch()) {
echo "<option>" . $tresult["ct_name"] . "</option>";

}
?>
</select>
</p>
<p>Quiz Name: <input type="text" name="qzname" value="<?php echo $row['qz_name']; ?>"/></p>
<p>Quiz Description: <textarea name="qzdesc" value=""/><?php echo $row['qz_desc']; ?> </textarea></p>

<input type="submit" class="btn btn-success" value="Save"/> <a class="btn" href="quizzes.php">Back</a>

请注意此代码已被简化。任何帮助我将不胜感激,谢谢!

最佳答案

您没有发布看起来像的 ID。

您的数据库是否名为 localhost,否则删除该部分。

关于php - PDO MySQL 更新在编辑页面上无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35186150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com