Intrepid中的php-sybase凑合能用了

0 views
Skip to first unread message

有仁吴

unread,
Mar 12, 2009, 2:12:45 PM3/12/09
to Fwolf @ Blogger, Fwolf @ Blogger, Fwolf @ GGroups, Fwolf @ MSN Spaces, Fwolf @ Opera, Fwolf @ VOX

以前说过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去掉就没事了。

Tags: adodb, intrepid, PHP, Problem, sybase, timestamp, Ubuntu

Related posts

b8f65b4eb285794bd01baca8da0f4caf.png
95d946e6aed3d6d5f9be856a4362a0bc.png
7272a6e5f4adcf34eeeff1b6bd0626b5.png
1f82d94622065f1877e507cb863abd2a.png
333c4c70f2315d3445708399605edf91.png
6211f1cab838d52f704e290544aa9dba.png
b34c7649f3bddc6122ed18ac0364d57d.png
3e0354544e44364e8cb750fb26946184.png
a8f442a011a68af60f2228e4f2db0fc3.png
a912c5112af78dc5c9e4171fc5250812.png
Reply all
Reply to author
Forward
0 new messages