-2

私はこのコードを持っています:

    function insertGenre() {
    $genres = explode(',',$this->input->post('genreName'));

    foreach($genres as $genre) {
        $temp = array(
            'id' => null,
            'name' => $genre,
            'popular' => '0'
        );

        $data2[] =  $temp;
    }

    return $data2;

    $data = array(
        'id' => null,
        'name' => $this->input->post('genreName'),
        'popular' => '0'
    );

    //$this->db->insert('genres',$data);
    $this->db->insert_batch('genres',$data2);
}

正常に動作するはずですが(ここでいくつかの質問に答えました)、そうではありません。私は何が間違っているのですか?

4

2 に答える 2

1

それはこのようなものであるべきではありません:

function insertGenre() {
    $genres = explode(',',$this->input->post('genreName'));

    foreach($genres as $genre) {
        $temp = array(
            'id' => null,
            'name' => $genre,
            'popular' => '0'
        );
        $data2[] =  $temp;
    }

    if( $this->db->insert_batch('genres',$data2) ) {
        return $data2;
    } else {
        return false;
    }
}

挿入クエリを実行する前に戻っていました。2番目の$data変数も冗長なようです。

また、挿入が失敗した場合にfalseを返すifステートメントを最後に追加しました。

于 2012-08-03T13:03:03.977 に答える
0

関数の最後に移動する必要がありますreturn。そうしないと、その下の行が実行されません。

function insertGenre() {
    $genres = explode(',',$this->input->post('genreName'));

    foreach($genres as $genre) {
        $temp = array(
            'id' => null,
            'name' => $genre,
            'popular' => '0'
        );

        $data2[] =  $temp;
    }

    $data = array(
        'id' => null,
        'name' => $this->input->post('genreName'),
        'popular' => '0'
    );

    //$this->db->insert('genres',$data);
    $this->db->insert_batch('genres',$data2);

    return $data2;
}
于 2012-08-03T12:59:41.053 に答える