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

首先我用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
}
?>

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-04
没有当然也会执行成功了,而且$info得到的结果只是true or false 成功true 失败 false
如果想知道存在不存在,建议先 select 一下吧

希望能帮到你
第2个回答  2011-08-04
没有数据一样会提示执行成功
如果你希望没有的话提示没有数据,可以先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>");
}
第3个回答  2011-08-04
<?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>";

?>

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网