mysql 非常非常奇怪的一个问题!

peachblossom 2003-01-28 04:26:02
在 PHP 中运行下面这段查询代码:

select * from ad where catid='1' and (TO_DAYS(now())-TO_DAYS(end_date)<0 or end_date='0000-00-00') ORDER BY rand() LIMIT 1;

这段代码有时候可以通过,有时候通不过,哪位高手可以告诉我有哪些原因会造成这样的情况?而且当这段代码不能运行的时候,网站同时还伴随一些奇怪的症状!
...全文
25 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qsbqing 2003-02-11
  • 打赏
  • 举报
回复
输出一下sql语句,就知道是什么原因了吗?
qsbqing 2003-02-11
  • 打赏
  • 举报
回复
rand()
tmj 2003-02-10
  • 打赏
  • 举报
回复
up
jeffhuang 2003-01-29
  • 打赏
  • 举报
回复
同意以上几位
mostice 2003-01-29
  • 打赏
  • 举报
回复
catid='1' and (TO_DAYS(now())-TO_DAYS(end_date)<0 or end_date='0000-00-00')
我想这该叫逻辑错误
(catid='1') and ((TO_DAYS(now())-TO_DAYS(end_date)<0) or (end_date='0000-00-00'))
「已注销」 2003-01-28
  • 打赏
  • 举报
回复
sure
馮強 2003-01-28
  • 打赏
  • 举报
回复
因为rand()产生的数超过了表的最多字段数,所以会返回一个错误。

可以定义rand()的边界来解决,rand(1,n)
peachblossom 2003-01-28
  • 打赏
  • 举报
回复
产生一个随机数
mostice 2003-01-28
  • 打赏
  • 举报
回复
rand() 是什么意思呢?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧