我目前正在尝试创建一个更新类型的脚本,管理员可以在其中单击更新按钮,数据库中已经存在的文本显示在文本框中;如果文本不正确,管理员可以替换文本。
我目前有一个名为"未定义索引"的错误。这是我尝试从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'] ?>"
也许一个稍微有点智慧的人能够提供帮助。感谢
value="<?php echo $result['petType'] ?>"
但代码的一个问题是,您只是将$jobID插入到查询中,而没有对其进行清理。这可能会导致sql注入。