我目前正在尝试创建更新类型的脚本,管理员可以点击更新按钮,数据库中已有的文本显示在文本框和文本框中。如果文本不正确,管理员可以替换文本。
我目前有一个名为"未定义索引"的错误。这是当我尝试从我的select语句设置我的文本框的值。
这是我目前的进展,
<?php
require 'configure.php';
if(isset($_GET['id']))
{
$id=$_GET['id'];
if(isset($_POST['Edit']))
{
$sql = "UPDATE `pet` SET `pettype` = :petType WHERE id = :id";
$statement = $pdo->prepare($sql);
$id = $_GET['id'];
$petType = $_POST['petType'];
$statement->bindValue(':id', $id);
$statement->bindValue(':petType', $petType);
$update = $statement->execute();
if($sql)
{
header('location:index.php');
}
}
$jobID = $_GET['id'];
$stmt = $pdo->query('SELECT * FROM pet WHERE petType = "' . $jobID . '"');
$result = $stmt->fetch(PDO::FETCH_ASSOC);
}
?>
这是我的更新代码,以及我在底部的填充语句。
<form method="post" action="">
Name:<input type="text" name="petID" value="<?php echo $_POST['petID'] ?>" /><br />
Age:<input type="text" name="petType" value="<?php echo $_POST['petType'] ?>" /><br /><br />
<br />
<input type="submit" name="submit" value="update" />
</form>
这是我用来编辑数据的表格。
我已经尝试了
value="<?php echo ($pdo['petType']) ?>"
value="<?php echo $stmt['petType'] ?>"
也许有更多知识的人可以提供帮助。 谢谢
答案 0 :(得分:1)
value="<?php echo $result['petType'] ?>"
但是您的代码存在的问题是您只需将$ jobID插入查询而不对其进行清理。这可能导致sql注入。