我已经回答了大多数类似的问题,但没有一个能解决我的问题。我的表有四列:id、用户名、标题和日期。我想在用户单击按钮(锚定标记)时删除与特定用户名关联的整行。请问,我如何做到这一点?这是我试过的密码。
php
<?php
session_start();
$uname = $_SESSION['username'];
$dbconn = mysqli_connect('localhost','root','','notesdb');
if(!$dbconn){
die("Connection failed:". mysqli_connect_error($dbconn));
}
if($stmt = $dbconn->prepare("DELETE * FROM notes_log where username = ? ")){
$stmt->bind_param("s",$uname);
$stmt->execute();
$stmt->close();
}else{
echo "ERROR: could not prepare SQL statement.";
}
mysqli_close();
// redirect user after delete is successful
header("Location: index.php");
?>
超文本标记语言
<a href="deleteAll.php" onclick="return confirm('Are you sure?')">Delete all</a>
上面的代码重定向了页面,但没有删除任何内容。
去掉查询中的*
。语法只是:
DELETE FROM notes_log where username = ?
请参见DELETE语法。
在多表DELETE
中,您需要将表名放在DELETE
之后,但是单个表DELETE
应该没有任何内容。
当SQL操作失败时,您应该打印SQL错误消息,而不仅仅是无法准备SQL语句。
echo "ERROR: could not prepare SQL statement: " . $dbconn->error;
编辑:
mysqli\u close()
需要数据库连接作为其唯一参数。
参考:http://php.net/manual/en/mysqli.close.php
您需要使用
mysqli_close($dbconn)
。
问题内容: 我要删除具有多对多关系的一个站点上的表中的一行。我还想删除该关系另一侧的所有相关行。 例如,假设我有以下表格,并且想从中删除一行。我也想从中删除所有相关的行,当然,也删除其中不再需要的任何行。 我知道如何在查询中连接以上表格。但是我看不到如何删除整个关系中的数据。 注意:关系的两端都实现级联删除。因此,例如,从中删除行将删除中的任何相关行。但是显然,这不会传播到表中。 问题答案: 我认
问题内容: 我有两个表,它们的列数相同,没有主键(我知道,这不是我的错)。现在,我需要删除表B中存在的表A中的所有行(它们相等,每行30列)。 我认为最直接的方法是执行并解决我的问题。但是,所有列的写条件(担心)也不尽人意(也许是因为我的表也不尽人意)。 我要用。我不知道该怎么做?这是我的第一个问题: 我试过了(SQL Fiddle): 但是所有行均已从table中删除。 这使我想到第二个问题:为
问题内容: 我有一张看起来像这样的桌子 表格1 ID,名称 如何编写查询以删除所有具有重复名称的行,但保留具有较低ID的行? 问题答案: 如果您使用的是SQL Server 2005或更高版本: 如果使用SQL Server 2000及更低版本
已移除。[重复] ........ ..
问题内容: 当我使用以下语法删除一行时: 有没有一种方法可以附加各种回调,以便例如自动执行此操作: 最好在模型类内部。 问题答案: 我相信这是Eloquent事件的完美。您可以使用“删除”事件进行清理: 您可能还应该将整个内容放入事务中,以确保引用完整性。
我想通过删除所有具有相同值的行,但无法获取。