PHP初心者です!
PHPについて質問ですが、setter getter でカプセル化したもののデータを追加時に
「Notice: Undefined index」と表示されます。
原因はデータが無いものも取得しに行ってるために怒られているというは分かっているのですが、
対処方法でシンプルなのが思いつかず、困っています。
現状のソースは下記になります。
public function getHogeHogeTable($dto) {
$query = 'SELECT id FROM HogeHoge WHERE ID = "' .$dto->getId()'"';
return $this->sel($query);
}
private function sel($query) {
$this->mysql = parent::getConnect();
$result = mysqli_query($this->mysqli, $query);
$dto_array = array(); $dto = new dto(); while($row = $result->fetch_array(MYSQLI_ASSOC)) { $dto->setId($row["id"]); $dto->setName($row["name"]); // エラー箇所 $dto->setTel($row["tel"]); // エラー箇所 $dto_array[] = $dto; } return $dto_array;
}
項目「name」「tel」をSELECTしていないためエラー発生しているというのは分かっているのですが、
sel関数はできれば汎用性を持たせて、再帰的に使用したいというのと考えています。
スイッチなどを使用して切り替えを実施してもいいですが、
あまり美しくないような気がしまして質問致します。
申し訳ございませんが、なにかいいアイディアがありましたらご教授のほどよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/02/06 11:34
2015/02/07 08:29