当前位置: 首页 > 知识库问答 >
问题:

从MySql中删除一行

司徒茂实
2023-03-14

我正在尝试向html表中添加一个按钮,该按钮允许用户在单击时删除特定行。

到目前为止,我有以下内容,但不明白为什么当我单击borrar(删除)按钮时,相应的数据库表行没有被删除。

我错过了什么?

<?php do { ?>
  <table width="263" border="1">
    <tr>
      <td><?php echo $row_Recordset1['name']; ?></td>
      <td><form id="form1" name="form1" method="post" action="">
        <input type="submit" name="borrar" id="borrar" value="Borrar" />
      </form></td>
    </tr>
  </table>
  <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>

<?php

if(isset($_POST['borrar'])){

  if ((isset($_POST['id'])) && ($_POST['id'] != "")) {
  $deleteSQL = sprintf("DELETE FROM carrito WHERE id=%s",
                       GetSQLValueString($_POST['id'], "int"));

  mysql_select_db($database_PY, $PY);
  $Result1 = mysql_query($deleteSQL, $PY) or die(mysql_error());

  $deleteGoTo = "http://fb.com";
  if (isset($_SERVER['QUERY_STRING'])) {
    $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
    $deleteGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $deleteGoTo));
}
}
?>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

共有1个答案

莫乐
2023-03-14

您没有从窗体传递行id。

<table width="263" border="1">
    <tr>
      <td><?php echo $row_Recordset1['name']; ?></td>
      <td><form id="form1" name="form1" method="post" action="">

        <!-- NEW LINE BELOW  -->
        <input type="hidden" name="id" value="<?php echo $row_Recordset1['id']; ?>" />

        <input type="submit" name="borrar" id="borrar" value="Borrar" />
      </form></td>
    </tr>
  </table>

您的表单应该与上面的示例相似。

 类似资料:
  • 问题内容: 如何使用phpMyAdmin在MySQL表的列上删除“唯一键约束”? 问题答案: 唯一约束也是索引。 首先使用来查找索引的名称。索引的名称存储在该查询结果中调用的列中。 然后,您可以使用DROP INDEX: 或ALTER TABLE语法:

  • 问题内容: 从视图中删除一行,是否会从创建该视图的基表中删除相应的行?我正在使用MySQL。 问题答案: 是的,它会的。唯一需要注意的是权限。 引用官方文档 有些观点是可更新的。也就是说,您可以在诸如UPDATE,DELETE或INSERT之类的语句中使用它们来更新基础表的内容。为了使视图可更新,视图中的行与基础表中的行之间必须存在一对一的关系。还有某些其他构造会使视图不可更新。

  • 问题内容: 范围:两个表。创建新的顾客时,他们会将有关他们的一些信息存储到第二张表中(这也使用触发器完成,它可以按预期工作)。这是我的表结构和关系的示例。 表1-> 顾客 表2-> patron_info 管理员可以管理顾客。当他们选择移走顾客时,将顾客从 桌子1 移开。此时, 表2 没有任何反应。 我只是想创建一个触发器,以便在表1的项目已删除时从表2中删除。这是我尝试过的… 最初,我尝试删除触

  • 问题内容: 这是正确的方法吗? 问题答案: 对,那是正确的。在这里工作正常: 如果对您不起作用,则可以修改此示例以显示您遇到的问题。

  • 本文向大家介绍从视图中删除行会从MySQL的基表中删除行吗?,包括了从视图中删除行会从MySQL的基表中删除行吗?的使用技巧和注意事项,需要的朋友参考一下 是的,从视图中删除行从基表中删除行。让我们通过创建一个新表来了解这一点。创建表的查询如下 使用insert命令在表中插入一些记录。查询如下- 使用select语句显示表中的所有记录。查询如下- 以下是输出 让我们创建一个视图。创建视图的查询如下

  • 我使用Datatables将一些数据列在表中。我已经知道了如何在Datatables中使用delete行,但是我无法知道如何同时从MySQL数据库中进行delete。如果没有从中删除,刷新时将再次获得JSON文件,该文件将填充我的表。这是到目前为止我的代码:(我正在尝试获取按delete from的行的ID,将ID与数据库中的ID匹配,然后从数据库中删除该ID) 按下delete(删除)按钮时执行

  • 问题内容: 这是我想做的事情: 从表中删除一个项目,并在表中删除与该项目关联的所有图像。 可以说 此查询有什么问题? 问题答案:

  • 问题内容: 我有一个数据库的MySQL转储。其中包含DEFINER子句, 即,这些DEFINER子句位于我的CREATE VIEW和CREATE PROCEDURE语句中。有没有办法从我的转储文件中删除这些DEFINER子句? 问题答案: 我认为没有办法忽略将s 添加到转储中。但是,有一些方法可以在创建转储文件后将其删除。 在文本编辑器中打开转储文件,并用空字符串“” 替换所有出现的 使用以下命令