说更新成功,但是当我查看数据库时

时间:2019-02-19 02:22:41

标签: php mysql

你们能仔细检查一下我的密码吗?当我单击“更新”按钮时,它告诉我更新成功,但是当我查看数据库时,没有任何更改。我知道我做错了。希望你们帮我弄清楚。谢谢。

我仍在学习,很荣幸向你们学习。请保持友好,并使用基本术语嘿嘿

<html>
<body>

<div>
    <form action="edit.php?id=<?php echo $id;?>" method="post">

              <div>
                <label for="prov">Provinces</label><br>
                <select id="prov"type="text" name="provi1">
                  <option><?php echo $provi; ?></option>
                  <option value="Isabela">Isabela</option>
                  <option value="La Union">La Union</option>
                  <option value="Pangasinan">Pangasinan</option>
                  <option value="Ilocos Sur">Ilocos Sur</option>
                  <option value="Ilocos Norte">Ilocos Norte</option>
                </select>
              </div>

              <div>
                <label>Date</label><br>
                      <input type="date" name="date" value="">
                  </div>

              <div>
                <label>Typhoon Name</label><br>
                      <input type="text" name="typhoon" value="<?php echo $typhoon; ?>">
              </div>

              <div>
                <label>Warning #</label><br>
                      <input type="text" name="warning" value="<?php echo $warning; ?>">
              </div>

              <div>
                <label for="prov">SS Height</label><br>
                <label>2-3 meters
                  <input type="radio" name="meter" value="2-3 Meters"
                  <?php if ($ssh == '2-3 Meters') echo 'checked="checked"'; ?>>
                </label>

                <label>1-2 meters
                  <input type="radio" name="meter" value="1-2 Meters"
                  <?php if ($ssh=='1-2 Meters') echo 'checked="checked"'; ?>> 
                </label>

                <label>< 1 meter
                  <input type="radio" name="meter" value="< 1 Meter"
                  <?php if ($ssh=='< 1 Meter') echo 'checked="checked"'; ?>>
                </label><br>

                <label for="imp">Impacts</label><br>
                  <textarea id="imp" type="text" name="impact1"><?php echo $impact; ?></textarea>

                  <label for="adv" >Advice</label><br>
                  <textarea id="adv" type="text" name="advice1"><?php echo $advice; ?></textarea>
              </div>

            <div class="form-group">
              <input type="submit" value="Update" name="update">
                <input type="reset" value="Cancel">
             </div>
    </form>
</div>

</body>
</html>

1 个答案:

答案 0 :(得分:3)

解决MySQL注入问题,否则我将删除您的数据库。 (请参阅问题注释)。

然后(并且只有在您修复该问题之后):

您正在使用$ _GET中的ID,但对于更新,您的ID来自$ _POST。但是,您忘记了将<input name='id' value='<?=$edit?>' type='hidden'>放入表单中。因此没有$_POST['id'],因此它仅更新具有空ID的所有记录。并说:“是的,我成功更新了0条记录!”。因此,没有错误:这是压倒性的成功。 ;)

您似乎对ID感到困惑。不需要$edit$id$u_id变量。都是相同的ID。自您清空<FORM ACTION=...以来,您的?id=实际上将$id(空字符串)放在URL后面。