比如你使用的数据库usrname/passwd为root/123456,database为test,新建了一个表为albums,有列artist,则最简单的代码实现如下:
十载的合作网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整合作建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“合作网站设计”,“合作网站推广”以来,每个客户项目都认真落实执行。
?php
if (isset($_POST["name"])) {
$conn = mysql_connect("localhost", "root", "123456") or die(mysql_error());
$select_db = mysql_select_db("test", $conn) or die(mysql_error());
$sql = 'select * from albums where artist = "' . $_POST["name"] . '"';
$rs = mysql_query($sql);
if ($rs) {
if (mysql_num_rows($rs) 0) {
$sql = 'delete from albums where artist = "' . $_POST["name"] . '"';
echo $sql;
echo "br";
$rs = mysql_query($sql);
if ($rs) {
echo $_POST["name"] . " delete successfully";
} else {
echo "delete fail: " . mysql_error();
}
} else {
echo "the name " . $_POST["name"] . " no exist in this database";
}
} else {
echo 'mysql fail: ' . mysql_error();
}
mysql_close($conn);
}
?
htmlhead
meta http-equiv="content-type" content="text/html;charset=utf-8"
/head
body
form enctype="multipart/form-data" action="test.php" method="POST"
label查询名字/label
input type="text" name="name" /
input type="submit" value="从数据中查询并删除"
/form
/body
/html
MySQL为我们提供了delete和truncate语句来删除数据。
delete 语句的定义:
删除数据的时候用的大多都是 delete 语句。现在让我们来看一下 delete语句的定义。
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
[WHERE where_definition]
[ORDER BY ...]
[LIMIT row_count]
delete from friends where user_name = 'simaopig';
delete 注意事项:
从语法结构中,我们就可以看出,和 update 语法一样,我们是可以省略 where 子句的。不过这是一个很危险的行为。因为如果不指定 where 子句,delete 将删除表中所有的记录,而且是立即删除.
truncate 语句的简单说明:
这个语句之前我也没有接触过,也没有使用过。因为一般情况下,删除数据大家都在使用delete语句。其实这个truncate 命令很简单,它的意思是:删除表的所有记录。相当于 delete 语句不写 where 子句一样。其语法结构为:
TRUNCATE [TABLE] tbl_name
这里简单的给出个示例,我想删除 friends 表中所有的记录,可以使用如下语句:
truncate table friends;
truncate 和 delete的效率问题:
如果想要删除表的所有数据,truncate语句要比 delete 语句快。因为 truncate 删除了表,然后根据表结构重新建立它,而 delete 删除的是记录,并没有尝试去修改表。这也是为什么当向一个使用 delete 清空的表插入数据时,MySQL 会记住前面产生的AUTOINCREMENT序列,并且继续利用它对AUTOINCREMENT字段编号。而truncate删除表后,表是从1开始为autoincrement字段编号。
不过truncate命令快规快,却不像delete命令那样对事务处理是安全的。因此,如果我们想要执行truncate删除的表正在进行事务处理,这个命令就会产生退出并产生错误信息。
2楼的不要抄袭我的回答
你的代码写错了我帮你修改了
复制代码看看
? include"/lianjie.php";?
?
if(isset($_GET['action'])){
$query2="DELETE FROM `用户账户表` WHERE `账户名`='{$_GET['action']}'";
mysql_query($query2)or die("wanle");
}
?
?
$query="SELECT * FROM `用户账户表`";
$result=mysql_query($query,$qtn_conn)or die("wanle");
while($row=mysql_fetch_array($result)){$arrn[]=$row;}
?
tr? foreach($arrn as $key=$row){?
td height="51"div align="center"
? echo $row[账户名];
$id=0;
if($row[账户名])
{
$id++;
$array[$id]=$row[账户名];
}?/div/td
tddiv align="center"? echo $row[主目录];?/div/td
tddiv align="center"? echo $row[是否锁定于主目录];?/div/td
tddiv align="center"? echo $row[访问权限];?/div/td
td
label
div align="center"
a href="#" class="STYLE3" onclick="del(?=$array[$id]?)"删除/a/div
/label /td
/tr? }?
script
function del(id){
if(confirm('是否要删除?')){
window.location.href="?action="+id
}
}
/script
这个 $sql="delete from news where id={'$id'}";
多了对单引号吧,应该是$sql="delete from news where id={$id}";
建议调试的时候,把sql打印出来检查
用delete语句删除整条记录,用update语句将内容更新为空值,也就是清空字段内容,当然,前提是那些字段允许为空值
删除:
$sql = 'delete from `tablename` where id=1';
mysql_query($sql);
tablename 要换成你的表的名称