php – MySQL select b’1’根据环境返回整数1或ASCII字符1

前端之家收集整理的这篇文章主要介绍了php – MySQL select b’1’根据环境返回整数1或ASCII字符1前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的家用电脑上

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服务器上具有相同的行为?

如果我得到相同的行为,那么我不必转换我的PHP代码

$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

猜你在找的PHP相关文章