当输入的号码不存在时,查询仍然是正常完成的,并不会出错,只是返回的是个空记录集,但空记录集不等于空对象,所以你简单地用 if ($num){ 来判断是否找到数据是不对的,应该判断返回的记录数量是否为零:
if($num&&mysqli_num_rows($num)>0){
此外,当输入的号码不存在时,mysqli_error($link))是没有错误信息提示的,因为我前面已经说了:这不是错误!
一条语句实现的方法不如存储过程方便,而且不如存储过程效率高,楼主写个存储过程会比较好INSERT INTO log (date, ip) SELECT '2014-01-01' as date, '192.168.1.1' as ip FROM log WHERE NOT EXISTS ( SELECT * FROM log t WHERE t.data = '2014-01-01' AND t.ip = '192.168.1.1')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)