mysqliのプリペアドステートメントの使用を開始し、特定の日付基準に一致するレコードを取得するクラスメソッドを作成しようとしていますが、それらは表示されません。クラス外で結果をフォーマットできるようにしたいと考えています。
結果が表示されるときにクラスメソッドが機能しています。
public function periodReceipts(){
global $db;
if($query = $db->prepare("SELECT * FROM receipts WHERE date BETWEEN ? AND ? ORDER BY date ASC")){
$query->bind_param("ss", $this->date1, $this->date2);
$query->execute();
$query->bind_result($id, $user_id, $vendor, $amount, $cat, $date);
$query->fetch();
while($query->fetch()){
echo "$id, $user_id, $vendor, $amount, $cat, $date <br/>";
}
$query->close();
}
}
そして、mysqliクエリを実行し、レコードを取得し、合計を計算し、後で表示するためにその結果をフォーマットせずに返す同様のメソッドが機能しています。
public function runningTotal(){
global $db;
if($query = $db->prepare("SELECT amount FROM receipts WHERE user_id = ?")){
$query->bind_param("i", $this->uid);
$query->execute();
$query->bind_result($amount);
$running_total = 0;
while($query->fetch()){
$running_total += $amount;
}
$query->close();
}
return $running_total;
$db->close();
}
しかし、メソッドperiodReceipts()を同様に動作させる方法がわかりません。データを配列に入れる必要があると思いますが、どうすればそれを行うことができ、後でどのようにアクセスできますか?
ありがとう!