有一条记录但是记录是空记录
和没有一条记录
的问题了。
首先弄清楚no data found异常是在找不到一条记录的时候报的异常,但是在找到一条空记录的时候是不会报这个异常的。
用集合函数之所以不会报错原因是:
用集合函数的时候,当参数没有赋值时,函数会默认赋一个空值来进行计算,返回的结果也是一个空值(不是没有值)。
而to_char、substr这些函数就不会当参数没有赋值时默认赋空值,也就没有结果返回。
所以区别就是一个有记录返回,但是个空记录,而一个是没有记录返回。
其实你要看清楚空记录和没有记录的区别可以执行如下的程序看返回结果的差别就懂了。
OPEN OUTCURSOR FOR
select MAX(t.Time) from dept t where t.id>'10'
比较
OPEN OUTCURSOR FOR
select t.Time from dept t where t.id>'10'
再比较
OPEN OUTCURSOR FOR
select to_char(t.Time,'yyyy-mm-dd') from dept t where t.id>'10'
mysql_query()在查询失败的情况下会返回FALSE,mysql_fetch_array()同样的也会在获取不到数据时返回FALSE;可以使用如下代码来判断是否在数据库中查询到数据:$num_rows = mysql_num_rows($result)
if($num_rows>0)
echo '谢谢您的使用'
else
echo '对不起'
$result = mysqli_query($con,"SELECT * FROM websites")$objRes = mysqli_fetch_array($result,MYSQLI_ASSOC)
if (!$objRes) {
return false
这是答案的一部分,还有一部分比较难讲述,你可以去后盾人学习下视频,非常有帮助的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)