sql >> Database teknologi >  >> RDS >> Mysql

Kan ikke indsætte array i databasen

Du forsøger at indsætte et array i for insertStudentData[key] .

Prøv dette:

 $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]);

hvis du forsøger at indsætte flere rækker, så kan du bruge indsæt_batch

Jeg har prøvet din kode på min side, og den bliver helt korrekt. det tilføjede de flere rækker til tabellen. Det er, hvad jeg 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. Konverter en juliansk dag til en dato i PostgreSQL

  2. ERRO 1215. MySql InnoDB

  3. Fejlkode:1290. MySQL-serveren kører med --secure-file-priv indstillingen, så den kan ikke udføre denne sætning

  4. Sådan genereres DDL for alle tabeller i en database i MySQL