Php 问题:Can';当我更改文本区域的内容时,不要更新db值类型文本

Php 问题:Can';当我更改文本区域的内容时,不要更新db值类型文本,php,html,database,Php,Html,Database,我试图用textarea的值更新变量描述。 这是我的html: <form action="index.php" method="post"> <div class="search"> <label for="animalId">Search for Id</label><br> <input type="te

我试图用textarea的值更新变量描述。 这是我的html:

<form action="index.php" method="post">
<div class="search">
        <label for="animalId">Search for Id</label><br>
        <input type="text" name="animalId" value="<?php echo $animalId; ?>">
</div>
<div class="animal_description">
    <label for="animalDescription">Animal's description:</label><br>
    <textarea name="animalDescription" id="animal-Description" cols="30" rows="10"><?php echo 
    $animalDescription; ?></textarea>
</div>
<button type="submit" name="Update">Update</button>
</form>
当我在文本区域中输入一个现有Id和一些文本时,它什么也不做,只是刷新页面。

试试:

<form action="index.php" method="post">
  <div class="search">
    <label for="animalId">Search for Id</label><br>
    <input type="text" name="animalId" id = "animalId" value="<?php echo 
    $animalId; ?>">
  </div>
  <div class="animal_description">
    <label for="animalDescription">Animal's description:</label><br>
    <textarea name="animalDescription" id="animalDescription" cols="30" 
     rows="10"><?php echo 
     $animalDescription; ?></textarea>
  </div>
<button type="submit" name="Update">Update</button>
</form>








//if the update button is clicked
if (isset($_POST['Update'])) {
//getting variable
  $animalId = $_POST['animalId'];
  $animalDescription = $_POST['animalDescription'];

  //checking if any empty field
  if(empty($animalId)){
      $ERRORS['animal-description'] = "The id field is requiered";
  } else {
    $idQuery = "UPDATE animals SET description=? WHERE 
    id_num=?";
    $stmt = $conn->prepare($idQuery);
    $stmt->bind_param("si", $animalDescription, $animalId);
    if ($stmt->execute()) {
        $ERRORS['final-message'] = "Successfully updated the database";
    }
    else {
        $ERRORS['final-message'] = "Failed to connect";
    }
}
}

搜索Id

请注意,您构建查询的方式是不安全的。你对我敞开心扉。直接插入值会破坏准备的目的。参数化您的查询。您的问题尽可能简单,
name=“Update”
,同时检查
isset($\u POST['Update'])
。案件很重要。
<form action="index.php" method="post">
  <div class="search">
    <label for="animalId">Search for Id</label><br>
    <input type="text" name="animalId" id = "animalId" value="<?php echo 
    $animalId; ?>">
  </div>
  <div class="animal_description">
    <label for="animalDescription">Animal's description:</label><br>
    <textarea name="animalDescription" id="animalDescription" cols="30" 
     rows="10"><?php echo 
     $animalDescription; ?></textarea>
  </div>
<button type="submit" name="Update">Update</button>
</form>








//if the update button is clicked
if (isset($_POST['Update'])) {
//getting variable
  $animalId = $_POST['animalId'];
  $animalDescription = $_POST['animalDescription'];

  //checking if any empty field
  if(empty($animalId)){
      $ERRORS['animal-description'] = "The id field is requiered";
  } else {
    $idQuery = "UPDATE animals SET description=? WHERE 
    id_num=?";
    $stmt = $conn->prepare($idQuery);
    $stmt->bind_param("si", $animalDescription, $animalId);
    if ($stmt->execute()) {
        $ERRORS['final-message'] = "Successfully updated the database";
    }
    else {
        $ERRORS['final-message'] = "Failed to connect";
    }
}
}