現在PHPでDB 操作用のクラスを制作するプログラムを作成しています。
現状&実現したいこと
requireを使って別ファイルでclassを呼び出したいのですが、エラーが出てきてしまいます。
そこで、このエラーを解決して、classを呼び出したいです。
該当のコード
php
1<?php 2 3class BbsDb { 4 5 public function INSERT() { 6 $dbh = new BbsDb($dsn, $user, $password); 7 $dbh -> query('SET NAMES utf8'); 8 9 $sql = 'INSERT INTO anketo(nickname, email, goiken) 10 VALUES ("'.$nickname.'"," '.$email.' "," '.$goiken.' ")'; 11 $sql = 'SELECT*FROM anketo WHERE 1'; 12 $stmt = $dbh -> prepare($sql); 13 $stmt -> execute(); 14 15 $dbh = null; 16 } 17 18 public function SELECT() { 19 $dbh = new BbsDb($dsn, $user, $password); 20 $dbh -> query('SET NAMES utf8'); 21 22 $sql = 'SELECT*FROM anketo WHERE 1'; 23 $stmt -> execute(); 24 $stmt = $dbh -> prepare($sql); 25 26 $dbh = null; 27 } 28 public $dsn = 'mysql:dbname=phpkiso;host=localhost'; 29 public $user = 'root'; 30 public $password = ''; 31} 32 33?>
php
1<?php 2 3$hoge = new BbsDb(); 4 5$hoge -> dsn = 'hello'; 6$hoge -> user = 'haruto'; 7$hoge -> password = 'kotou'; 8 9$hoge -> INSERT(); 10 11require 'BbsDb.php'; 12 13?>
2つ目の$hoge = new BbsDb();
ファイルでエラーが発生してしまっています。
試したこと
・classの呼び出しを別ファイルではなく1つ目のPHPファイルで呼び出し
・呼び出したいクラスの名前が間違っていないチェック
・requireをコード内の先頭に記述
→Uncaught Error: Call to undefined method BbsDb::query() このようなエラーが出てきました。
うまくいかない原因の仮説
いろいろ調べていて分かったのですがどうやらgitでコマンドを打てば解決するのではないかと予想
以上です。
わかる方がいましたら、ご教授の方よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/08 04:27
2020/05/08 04:31
2020/05/08 04:57