为什么在使用php执行删除的时候,数据库中没有这个记录,它还是会执行“删除成功”?

首先我用dreamweaver做了一个以员工名字提交的“删除员工信息”的界面,然后在我执行删除员工的信息的时候,无论我输入谁的名字,或者我直接不输入名字,它都可以执行“信... 首先我用dreamweaver做了一个以员工名字提交的“删除员工信息”的界面,然后在我执行删除员工的信息的时候,无论我输入谁的名字,或者我直接不输入名字,它都可以执行“信息删除成功!”。
请个位大虾们帮忙解决啊
以下是执行代码:

<?php

mysql_connect(“dbhost”, “dbuser”, “dbpwd”);
mysql_select_db("dbname");
$info=mysql_query("delete from tablename where name='$name'") or die(mysql_error());

if($info){
?>
<script language="javascript">
alert("信息删除成功!");window.location.href="index.php";
</script>
<?php
}
else{
?>
<script language="javascript">
alert("数据删除失败!");window.location.href="index.php";
</script>
<?php
}
?>
展开
 我来答
孤舟之外
2011-08-04 · 超过22用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:61.4万
展开全部
mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。 很有可能一条查询执行成功了但并未影响到或并未返回任何行。

以下查询语法上有错,因此 mysql_query() 失败并返回 FALSE:

Example #1 mysql_query() 例子
<php
$result = mysql_query("SELECT * WHERE 1=1")
or die("Invalid query: " . mysql_error());
?>

以下查询当 my_col 并不是表 my_tbl 中的列时语义上有错,因此 mysql_query() 失败并返回 FALSE:
Example #2 mysql_query()
<?php
$result = mysql_query("SELECT my_col FROM my_tbl")
or die("Invalid query: " . mysql_error());
?>

如果没有权限访问查询语句中引用的表时,mysql_query() 也会返回 FALSE。

参考资料: http://www.php.net/manual/zh/function.mysql-query.php

chaoxinggs
2011-08-04 · TA获得超过1017个赞
知道小有建树答主
回答量:1013
采纳率:0%
帮助的人:943万
展开全部
没有当然也会执行成功了,而且$info得到的结果只是true or false 成功true 失败 false
如果想知道存在不存在,建议先 select 一下吧

希望能帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MCodeX
2011-08-04 · TA获得超过306个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:456万
展开全部
没有数据一样会提示执行成功
如果你希望没有的话提示没有数据,可以先SELECT一下
代码这样写:
$countquery = mysql_query("SELECT COUNT(*) FROM tablename where name = '$name'");
$count = mysql_result($countquery, 0);
if ( $count < 1 ) {
exit("<script language=\"javascript\">alert(\"数据删除失败!\");window.location.href=\"index.php\";</script>");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
80奋斗小青年
2011-08-04
知道答主
回答量:12
采纳率:0%
帮助的人:4.3万
展开全部
<?php

mysql_connect(“dbhost”, “dbuser”, “dbpwd”);
mysql_select_db("dbname");
if(mysql_query("delete from tablename where name='$name'")){

echo "<script>alert("信息删除成功!");window.location.href="index.php";</script>";

}
else{
echo "<script>alert("信息删除失败!");window.location.href="index.php";</script>";

?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式