带单选按钮的BIT数据类型(选中/未选中)

时间:2013-09-08 20:37:45

标签: php html mysql

在这里搜索好了,谷歌上有很多网站的搜索结果,但无法找到解决我问题的确切方法。

我有一个sql拉一个名字和一个办公室。所以它是这样的:

    $sql = "SELECT myStaff_tbl.firstName, myStaff_tbl.lastName, myOffice_tbl.officeName,
    myOfficeLoc_tbl.primary_loc_bit 
    FROM myOfficeLoc_tbl 
    INNER JOIN myOffice_tbl ON myOfficeLoc_tbl.office_Id = myOffice_tbl.office_Id
    INNER JOIN myStaff_tbl ON myOfficeLoc_tbl.staff_Id = myStaff_tbl.staff_Id
    WHERE location_tbl.staffID = $myvariable"

我的HTML看起来像这样:

    <td align="center"><input type="radio" name="bit_primary_loc" value="" <?php if ($row_rs_myQuery['primary_loc_bit'] == 1) {echo "checked='checked'";} ?> > </td>

当然我的html包含在循环语句中,检查是否有多个办公地点与该职员关联。如果有多个位置,它会吐出来。但我现在的问题是,当我尝试var_dump行或者只是回显它显示空白时,它现在正在输出$ row_rs_myQuery ['primary_loc_bit']。

我希望检查单选按钮是否将该办公室设置为职员主要位置,并且因为他们只能有一个主要位置,所以它需要是一个单选按钮。

如果我在phpMyAdmin中运行sql查询时确实显示为什么它不会显示为已检查的任何想法?

仅供参考,当我在phpMyAdmin

中运行sql时,我得到类似的东西
    Steve Smith   Portland   1
    Steve Smith   Salem      0
    Steve Smith   Ontario    0

1 个答案:

答案 0 :(得分:1)

您获得似乎是空字符串的原因是因为BIT数据类型存储的值等于字符的ASCII代码。等于1的ASCII码是START OF HEADER,这是一个不可见的,不可打印的字符。如果您希望列值可以是BOOLTINYINT(3)(开启或关闭),请使用TRUEFALSE)。

  

另请参阅:Mysql: How to query a column whose type is bit?