以前说过Ubuntu升级到hardy之后,php-sybase没了,现在在intrepid里又有了,不过有些变化。
主要的原因好像是支持方式从以前的ctlib变成了dblib,其实是和mssql的支持作在一起了,所以现在没有了sybase_ct.so,并且如果使用了adodb(我新下载的版本是5.07),要修改drivers/adodb-sybase.inc.php的148行,把
return sybase_unbuffered_query($sql,$this->_connectionID); 替换为
return sybase_query($sql,$this->_connectionID); 因为sybase_unbuffered_query只有在使用CT library时才能用。
另外一个小变化就是timestamp读出来以后的值变了,由于sybase内置的timestamp其实是varbinary类型,所以原来使用ctlib的时候读出来就是这样的:000007d001917b36,但现在变成了类似中文字符串的形式,所以也需要转换一下:
if (16 != strlen($ts)) $ts = bin2hex($ts); Update @ 2009-03-01
还是日期的问题,现在从数据库日期字段里取出来的数据多了个毫秒部分,比如Mar 01 2009 00:24:00:000AM,致命的是这个字符串交给strtotime()函数居然不返回值,把毫秒部分:000去掉就没事了。
![[Bloglines]](cid:7272a6e5f4adcf34eeeff1b6bd0626b5.png)
![[del.icio.us]](cid:333c4c70f2315d3445708399605edf91.png)
![[Digg]](cid:a8f442a011a68af60f2228e4f2db0fc3.png)
![[diigo]](cid:1f82d94622065f1877e507cb863abd2a.png)
![[Facebook]](cid:6211f1cab838d52f704e290544aa9dba.png)
![[Google]](cid:95d946e6aed3d6d5f9be856a4362a0bc.png)
![[MySpace]](cid:b8f65b4eb285794bd01baca8da0f4caf.png)
![[Reddit]](cid:3e0354544e44364e8cb750fb26946184.png)
![[Slashdot]](cid:a912c5112af78dc5c9e4171fc5250812.png)
![[Email]](cid:b34c7649f3bddc6122ed18ac0364d57d.png)