PHPのclassに関してお聞きします
Fatal error: Uncaught Error: Call to undefined method List_table::select_db() in XXX.php Stack trace: #0 XXX4.php(8): Db->connect() #1 メインのクラス(25): List_table->List_table() #2 {main} thrown in XXX.php
調べてみてもsyntaxの説明しか見当たらず、上記は何についてのエラーなのかが把握できません
PHP
1//メインのクラス 2<?php 3 require_once("XXX.php"); 4 5 if (isset($_POST['name'], $_POST['comment'], $_POST['bbs']) && $_POST['bbs'] == "post") { 6 require("XXX1.php"); 7 $p_obj = new Post(); 8 $p_obj->name = $_POST['name']; 9 $p_obj->comment = $_POST['comment']; 10 $p_obj->post(); 11 } elseif (isset($_POST['bbs']) && $_POST['bbs'] == "update") { 12 require("XXX2.php"); 13 $u_obj = new Update(); 14 $u_obj->name = $_POST['name']; 15 $u_obj->comment = $_POST['comment']; 16 $u_obj->chk = $_POST['chk']; 17 $u_obj->update(); 18 } elseif (isset($_POST['bbs']) && $_POST['bbs'] == "delete") { 19 require("XXX3.php"); 20 $d_obj = new Delete(); 21 $d_obj->chk = $_POST['chk']; 22 $d_obj->delete(); 23 } 24 25 require("XXX4.php"); 26 $l_obj = new List_table(); 27 $data = $l_obj->List_table(); 28 echo strlen($data); 29?>
PHP
1//XXX.php データベース接続クラス 2<?php 3 class Db { 4 public $class; 5 public function connect() { 6 $this->class = new mysqli("XXX", "XXX", "XXX", "XXX"); 7 $class->select_db("XXX");//←ここにUncaught Error 8 $res = $class->query($this); 9 } 10 11 public function close() { 12 $class->close(); 13 } 14 } 15?>
PHP
1//XXX4.php 2<?php 3 require_once("XXX.php"); 4 5 class List_table extends Db { 6 public $result; 7 public $row; 8 public function List_table() { 9 $this->connect(); 10 $sql = "SELECT * FROM XXX ORDER BY time DESC"; 11 $result = $sql->query(); 12 $a = 0; 13 $this->result = null; 14 while($row = $result->fetch_assoc($sql)) { 15 $this->result[$a] = array('name' => $this->row['name'], 'comment' => $this->row['comment']); 16 $a++; 17 } 18 $this->close(); 19 } 20 } 21?>
回答が付いた質問の編集は慎重に行ってください。質問文のコードについて指摘があった場合は「追記」し、元のコードを編集する場合も「直したこと」がわかるようにしてください。
回答4件
あなたの回答
tips
プレビュー