在我的家用电脑上
mysql_fetch_row(MysqL_query(“select b’1’”))[0]
返回字符串“1”.
但是当在webserver上托管时,它返回具有ASCII字符1的字符串.
Doc确实说 –
Bit values are returned as binary values. To display them in printable
form,add 0 or use a conversion function such as BIN().
但是在我的本地机器上,它仍然返回“1”,而我没有做任何转换.
如何在我的Web服务器上具有相同的行为?
$row = MysqL_fetch_row( MysqL_query(" select bit1_field from .. where .. ") ); if( $row[0] === '1' ) ...;
至
... select bit1_field+0 as bit1_field ...
其中bit1_field的类型为bit(1).
您似乎在机器上使用两个不同的驱动程序.有两个,PHP5-MysqLnd和PHP5-MysqL.
Website Factor写了关于4月下旬BIT字段的不同行为,我也有几台机器具有相同版本,但驱动器不同.我可能是因为从早期版本升级时没有更改驱动程序,但是当安装了PHP> 5.4时,它默认安装了PHP5-MysqLnd.这是
MySQL page about the differences.
原文链接:https://www.f2er.com/php/137011.html