首页 > 解决方案 > 如何将位保存到sql中?

问题描述

在我的 SQL 数据库中,我有一个长度为 2 的 BIT 列。

 `modulcheck` BIT(2) NOT NULL DEFAULT b'0',

我想将 2 作为整数发送并将其保存为 BIT(应该是 10)。我不知道为什么,但它会自动保存为 11,即 3。

我正在使用执行功能,就在它之前我有一个var_dump. 项目值为int(2)。我也尝试了字符串 10,但这也没有用。

默认值为0,所以当它变为11时,它不是默认值。

var_dump($pvalues[":modulcheck"]);
$query->execute($pvalues);

var_dump for $queryand also的结果$pvalues

object(PDOStatement)#41 (1) { ["queryString"]=> string(273) "INSERT INTO gph_menu(id, name, link, modulcheck) VALUES ( :id, :name, :link, :modulcheck) ON DUPLICATE KEY UPDATE id = LAST_INSERT_ID(id), id= :id, name= :name, link= :link, modulcheck= :modulcheck" } 

array(6) { [":id"]=> int(40) [":name"]=> string(4) "test" [":link"]=> string(8) "test.htm" [":modulcheck"]=> int(2) } 

标签: phpsql

解决方案


推荐阅读