php mysql执行delete删除未存在的记录为什么会提示成功
对于mysql来说,进行delete语句,无论符合删除条件的条数为多少,即使0条结果,只要成功执行了delete语句,mysql就会返回真,所以php也会提示成功。
在扶绥等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、网站设计 网站设计制作按需制作,公司网站建设,企业网站建设,品牌网站制作,全网整合营销推广,成都外贸网站建设公司,扶绥网站建设费用合理。
这个‘成功’并不是删除成功,而是执行这个语句执行成功了。(执行成功,只要符合条件的记录都会被删除)
为什么在使用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。
thinkphp删除或者不记录日志文件该如何做
'LOG_RECORD' = false, // 是否开启日志记录
'LOG_LEVEL' ='EMERG,ALERT,CRIT,ERR', // 只记录EMERG ALERT CRIT ERR 错误
php删除数据库记录没成功
是不是你用记事本修改了文件的原因,php有时候就是这样不能用自带的记事本修改!你换个编辑器,推荐用notepad++里面可以设置文本编码!
当前题目:php大数据删除无记录 php删除数据库数据
转载来源:http://cqwzjz.cn/article/docdphc.html