为什么在使用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
}
?> 展开
请个位大虾们帮忙解决啊
以下是执行代码:
<?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
}
?> 展开
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。
以下查询语法上有错,因此 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
展开全部
没有当然也会执行成功了,而且$info得到的结果只是true or false 成功true 失败 false
如果想知道存在不存在,建议先 select 一下吧
希望能帮到你
如果想知道存在不存在,建议先 select 一下吧
希望能帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有数据一样会提示执行成功
如果你希望没有的话提示没有数据,可以先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>");
}
如果你希望没有的话提示没有数据,可以先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>");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?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>";
?>
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>";
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询