बिट फ़ील्ड के साथ PDO समस्या [डुप्लिकेट]

Dec 01 2020

बिट फ़ील्ड के साथ तालिका में सम्मिलित निष्पादित करने की कोशिश कर रहा है, लेकिन परिणामस्वरूप सभी फ़ील्ड डिफ़ॉल्ट रूप से 1 के रूप में भरे हुए हैं। समझ में नहीं आता कि मेरी गलती कहां है या यह पीडीओ में कुछ विशिष्ट है।

प्रचारित क्वेरी का उदाहरण:

INSERT INTO TABLE (is_hidden, is_on_net, is_off_net, is_international)
VALUES (:is_hidden, :is_on_net, :is_off_net, :is_international)

[is_hidden] => 0
[is_on_net] => 1
[is_off_net] => 0
[is_international] => 0


$this->db->preparedQuery($query, $data); public function preparedQuery($query, $params) { try { $this->checkConnection();
        $stmt = $this->pdo->prepare($query); if (!$stmt->execute($params)) { $this->utility->loggerAll($this->logPrefix, __FUNCTION__, $this->logLevel, 1, 'Failed to execute prepared query! ' . $this->pdo->errorInfo()[2] . ', query: ' . $query . ', params: ' . json_encode($params)); return false; } } catch (PDOException $e)
    {
        $this->utility->loggerAll($this->logPrefix, __FUNCTION__, $this->logLevel, 1, 'Failed to execute prepared query! ' . $e->getMessage() . ', query: ' . $query . ', params: ' . json_encode($params));
        
        return false;
    }
    
    return $stmt;
}

जवाब

1 quaresma89 Dec 01 2020 at 21:08

डेटा क्षेत्र को बदलने के साथ समस्या का समाधान किया गया था tinyint, क्योंकि पीडीओ में बिट फ़ील्ड के साथ कुछ समस्याएं हैं।

एक ही सवाल: PDOstatement (MySQL): तालिका में लिखे गए 1 में बिट (1) फ़ील्ड परिणाम में 0 मान सम्मिलित करना