PHP 5.1.4和5.2.0的问题

csdnpro 2006-11-28 02:53:56
从前使用php5.0.3 。这个版本据说很差,但是因为比较懒,一直就这样用着

最近升级web服务器,将php版本升为5.1.4,并安装zend3.0

升级完成后发生mysql查询错误如下:
//查询在线人数
//数据库时间字段设置为int,取time()值
$sql="select * from pub_count where time>=".(time()-15*60);
$result=mysql_query($sql);
$online=mysql_num_rows($result);
//结果$online的值一直为1,而这是绝对错误的,用mysql_fetch_array()取出的字段的值也不对

后来将查询改成select count(*),结果取$row['count(*)'],仍然错误

开始以为是5.1.4加zend出现的问题,于是将php和zend删除后设置php5.2.0,错误依旧,进行多次实验后发现错误在于 time>=xxxxxxx这里,如果没有比较时间这个条件就不会出错。但是作为一个int型数据,我一直都是用这种方法进行比较而且也应该是这个语法,请高手解答问题所在


...全文
205 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnpro 2006-11-28
  • 打赏
  • 举报
回复
mysql用的是4.1.4,本来想升级到5.0.26,但是因为mysql语法发生变化,改动需要的工作量太大,所以mysql版本仍然保持不变
csdnpro 2006-11-28
  • 打赏
  • 举报
回复
刚才把数据库中记录检查了一下,发现数据库中time值没有更新,时间就是从改变php版本后开始的(大概距现在80小时,但是总有一个取不到ip的记录保持同步更新,所以每次都只有一条记录,并且取不出ip值 ^_^)
可能是update操作失败了,我重新检查一下插入和修改语句,看哪里有问题
uuq 2006-11-28
  • 打赏
  • 举报
回复
你数据库版本
csdnpro 2006-11-28
  • 打赏
  • 举报
回复
这样取出的值仍然为1
zhangli 2006-11-28
  • 打赏
  • 举报
回复
$sql="select * from pub_count where time>=".(time()-15*60);
改成这样试试
$sql="select * from pub_count where time>='".(time()-15*60)."'";

21,886

社区成员

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

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