删除语句中的`Editable-Changeable`变量

时间:2013-08-23 10:42:30

标签: php html mysql sql

和我一起思考并告诉我是否有可能:

假设你有一个像这样的简单删除语句:

<?php
$con=mysqli_connect("localhost","root","admin","inventarisdb");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

if (!mysqli_query($con,"DELETE FROM BCD WHERE LastName='Griffin'");
{
echo "Succesfully Deleted <br/> ";
echo "<a href='Reports.php'>View Result</a>";
 }
mysqli_close($con);
?>

此语句删除表行中与给定Lastname匹配的所有内容。大!但现在:

让我们说Ur表得到了很多更新,你添加名字和U得到更多具有相同LastName的条目,但你不希望所有这些行都被这个LastName删除。

是否可以以LastName的变量是可编辑或可变的方式编写Delete语句? 我的意思是例如:能够将LastName更改为Age例如或我在表中使用的任何其他变量,而不是在我的php脚本中执行删除,而只是从应用程序。页面本身。

因此,您将使用此类代码执行的操作将导航到此应用程序中的“删除”选项卡,更改您要使用的变量以通过键入或下拉列表进行删除,例如最终按删除执行。

我正在考虑这样的事情:

 if (!mysqli_query($con,"DELETE FROM persons WHERE (variable)='<a href: Select2Delete.php>'");

所以我可以填写与我要搜索的表格列相对应的变量来删除。

我一直在寻找@复选框和自动增量以及以不同方式执行此操作的方法,但我想知道这是否可行首先因为我发现这是一种简单的方法来使脚本工作与必须设置表格相比首先查找数据然后添加一个带有删除按钮的复选框,并带有一个If语句加载,通过选择一个框感觉我来执行删除?

欢迎任何建议,评论,评论!这是一个纯粹的想法,我想分享并询问你的意见!

先谢谢你! 为这个论坛干杯!

3 个答案:

答案 0 :(得分:0)

如果您从html页面链接页面,则可以这样做。

<a href="deleterecord.php?column=age&value=20">Delete</a>

在php方面

$query = "DELETE FROM table where ".$_GET['column']."=".$_GET['value'];
mysql_query($query, $con);

请注意,此方法不是很安全,但您可以使用此方向来实现解决方案。

答案 1 :(得分:0)

你应该习惯身份证 在我创建的几乎每个表中,我都有一个带有主键和自动增量的Int列 这样你就不会遇到意外删除多行的麻烦
如果你仍然想这样做,请看看Architact的帖子。

答案 2 :(得分:0)

它不一定是ID,但你应该有一个唯一的密钥,不仅仅是为了这些更新,删除东西,还有其他表中的匹配数据或有时更好的选择查询。如你所述,姓氏不是唯一密钥的好选择,可能有重复。您可以为每条记录创建一个字符串唯一键,例如mary-bennett | mary-benett1 | mary-benett2 ...

但是,如果您担心在执行删除查询时是否添加了记录,则不会发生这种情况。在完成任务之前,SQL不会响应其他人。