質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

Q&A

解決済

1回答

681閲覧

codeigniter クエリビルダ $this->db->insert()について

makossan

総合スコア8

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

0グッド

0クリップ

投稿2017/12/06 01:47

編集2017/12/06 04:31

###前提・実現したいこと
コンテンツ登録画面に、タイトルと内容を入力し、登録すると
タイトルは子カテゴリー、内容はコンテンツ、とそれぞれ異なるテーブルへ追加をしたい。

###発生している問題・エラーメッセージ

You must use the "set" method to update an entry.

###該当のソースコード

PHP

1【子カテゴリー_model.php】 2 3class 子カテゴリー_model extends CI_Model 4{ 5 public function __construct() 6 { 7 parent::__construct(); 8 $this->load->database(); 9 } 10 11 public function get_data(){ 12 $query = $this->db->get('child_category'); 13 14 if ($query->num_rows() > 0){ 15 return $query->result_array(); 16 } 17 else 18 { 19 } 20 } 21 22//子カテゴリーの登録 23 public function create($c_category = null) 24 { 25 $this->db->insert('child_category', $data); 26 27 28 } 29 30========================================== 31 32【コンテンツ_model.php】 33 34<?php 35 36class コンテンツ_model extends CI_Model 37{ 38 public function __construct() 39 { 40 parent::__construct(); 41 $this->load->database(); 42 } 43 44 public function get_data(){ 45 $per_page = 15; 46 $query = $this->db->get('contents', $per_page); 47 48 if ($query->num_rows() > 0){ 49 return $query->result_array(); 50 } 51 else 52 { 53 return []; 54 } 55 } 56 57 public function create($category = null) 58 { 59 $this->db->insert('contents', $data); 60 } 61} 62 63========================================== 64 65【登録用_controller.php】 66 67defined ('BASEPATH') OR exit('No direct script access allowed'); 68 69public function index() 70 { 71 $this->load->model('admin/親カテゴリー_model'); 72 $this->load->model('admin/子カテゴリー_model'); 73 $this->load->model('admin/コンテンツ_model'); 74 75 $data['p_category'] = $this->親カテゴリー_model->get_data(); 76 $data['c_category'] = $this->子カテゴリー_model->get_data(); 77 $data['contents'] = $this->コンテンツ_model->get_data(); 78 79 80if ($this->input->post()) 81{ 82 83 $data = array('name' => $this->input->post('c_category')); 84 $this->r_child_category_model->create($data); 85 86    $data = array('content' => $this->input->post('category')); 87    $this->r_contents_model->create($data); 88} 89 90 $this->load->view('admin/contents_add', $data); 91 92} 93 94※ビューは、contents_addというphpファイルを用意して、作業しています。

###試したこと
同じやり方で、コンテンツテーブルへのinsertには成功しているのですが、なぜ子カテゴリーテーブルへのinsertができないのかわからず、大変お恥ずかしいのですが、何を修正していいかわからない状況です。。

###補足情報(言語/FW/ツール等のバージョンなど)
・Codeigniter3.2.0

phpinfoを表示したところ、下記となりました。

・PHP Version 5.5.24
・Client API version
→mysqlnd 5.0.11

・使用しているのは、Eclipse_4.7.1
phpmyadminには、親カテゴリーtable、子カテゴリーtable、コンテンツtableがあります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2017/12/06 02:56

補足情報にPHP・mysqlのバージョンも追記願います。
guest

回答1

0

ベストアンサー

$data が空だからじゃないですか?

投稿2017/12/06 04:36

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makossan

2017/12/06 04:57

すみません、そのようなのですが、 $dataには、タイトルのところで入力したものが入っていると思っておりましたが、 この状態では空なのでしょうか。
退会済みユーザー

退会済みユーザー

2017/12/06 05:02

タイトルのところというのがどこのことか分かりませんが、スコープ内に $data を定義する箇所は見当たりません。 変数のスコープ http://php.net/manual/ja/language.variables.scope.php 初学者なんですかね? もしそうであれば、デバッグ環境を整えて、ステップ実行しながら変数の遷移を追ってみることをオススメします。 学習効率が変わるので、試してみてください。
makossan

2017/12/06 06:00

初学者です。 お手数おかけしてすみません、解決いたしました! ステップをおいながら、やっていこうと思います。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問