我有一些带有是/否(值 1/0)的组合框,我将它们作为位存储在我的数据库中。为了将该值放入对象的正确成员中,我这样做:
class Member {
var $active;
public function refreshData() {
$mysqli = connectdbMySQLI();
$query = "SELECT * FROM tblMember WHERE ID = " . $this->id;
$result = $mysqli->query($query);
$row = $result->fetch_array(MYSQLI_ASSOC);
$this->setData($row);
$mysqli->close();
}
public function setData($row) {
$this->active = $row['active'];
}
}
所有 varchars、int 和 text-values 或被赋值,除了这些位值。我检查了 var_dump 并得到一个空字符串
["active"]=> string(1) ""
保存也不起作用:
$member = new Member(isset($_POST['id']) ? $_POST['id'] : null );
if(isset($_POST['active'])) {
$member->active = $_POST['active'];
$member->save();
}
我用来在组合框中选择正确的值:
<select type="text" name="active" id="active" class="txt">
<option value="0" <?php echo $member->active == 0 ? 'selected="selected"' : ''; ?>>No</option>
<option value="1" <?php echo $member->active == 1 ? 'selected="selected"' : ''; ?>>Yes</option>
</select>**
与本地 NAS 相比有何不同?
编辑:
我试过这个(所有结果都是1):
$this->active = $row['active'] == true ? '1' : '0';
这(所有结果都是0):
$this->active = $row['active'] == 1? '1' : '0';
编辑2:
刚刚尝试了一个简单的查询(没有 mysqli),我的所有位域都得到了一个空结果