sql >> Databasteknik >  >> RDS >> Mysql

Det gick inte att infoga array i databasen

Du försöker infoga en array i för insertStudentData[key] .

Prova detta:

 $insertStudentData[$key] = array(
        'parent_id'      => $parent_id,
        'email'          => $studentDatas['email'],
        'password'       => $studentDatas['password'],
        'name'           => $studentDatas['name'],
        'nric'           => $studentDatas['nric'],
        'gender'         => $studentDatas['gender'],
        'photo'          => $studentDatas['photo'],
        'is_active'      => $studentDatas['is_active']['0']['photo'],
    );

$this->db->insert('users_student', $insertStudentData[$key]);

om du försöker infoga flera rader kan du använda insert_batch

Jag har provat din kod på min sida och den blir helt korrekt. den lade till flera rader i tabellen. Det här är vad jag har gjort.

function create($studentData){
$insertStudentData = ''; //Create a Variable
    foreach ($studentData => $studentDatas) {

        $insertStudentData[] = array(
            'parent_id'      => $parent_id,
            'email'          => $studentDatas['email'],
            'password'       => $studentDatas['password'],
            'name'           => $studentDatas['name'],
            'nric'           => $studentDatas['nric'],
            'gender'         => $studentDatas['gender'],
            'photo'          => $studentDatas['photo']['0']['photo'],
            'is_active'      => $studentDatas['is_active']
        );

    }

    $this->db->insert_batch('users_student', $insertStudentData[$key]);

    if($this->db->affected_rows() != 1){
        return false;
    } else {
        return true;
    }
}


  1. MySQL-prestanda - IN-klausul kontra lika med (=) för ett enskilt värde

  2. SQL:Var mellan två datum utan år?

  3. PDO-stöd för flera frågor (PDO_MYSQL, PDO_MYSQLND)

  4. Hur visar jag fel för min MySQLi-fråga?