我面对MySQL BIT数据类型的某些意外行为。通过执行以下PHP代码:
$query="INSERT INTO REQUESTS_OFFERS (PROPOSAL,REQUESTS_REQUESTID,PERIOD)
VALUES ('".$offer."','".$requestid."','".$periodkind."')";
即使PHP变量$ periodkind等于0,BIT数据类型的period列也总是变为1!我无法解释。如果尝试在MySQL内部手动将1更改为0,则没有问题...
你知道为什么会这样吗?
非常感谢你
最佳答案
如果您的列是BIT数据类型,则不必将var包装到“”中,因为它将被解释为字符串,并且需要一点。
尝试删除单引号,如果它不起作用,请尝试将$ periodkind转换为这样的布尔值:
(bool)$periodkind
仅当MySQL在BIT数据类型中将false转换为0并将true转换为1时
关于php - MySQL BIT数据类型始终变为1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28904092/