0

すべての月の平均を持つPHPオブジェクト'$mon'の値を出力しようとしました.....

データフェッチの私のコードは次のとおりです

$result = mysql_query("SELECT b_year, sum(m1) as m1, sum(m2) as m2, sum(m3) as m3, sum(m4) as m4, sum(m5) as m5, sum(m6) as m6, sum(m7) as m7, sum(m8) as m8, sum(m9) as m9, sum(m10) as m10, sum(m11) as m11, sum(m12) as m12  
            from s_budgets as b INNER JOIN users as u on b.u_id = u.id WHERE b_year=YEAR( CURDATE( ) )
GROUP BY b_year " );
$mon=mysql_fetch_array($result)

これらの値を表示するための私のコードは次のとおりです。

 <?php echo $mon->m4;?>,
 <?php echo $mon->m5;?>,
 <?php echo $mon->m6;?>,

オブジェクト'$mon'をそのいくつかのプロパティとともに出力するにはどうすればよいですか?

4

4 に答える 4

2

これ$mon=mysql_fetch_array($result) fetch a result row as an associative array, a numeric array, or both..

echo $mon['m4'];

結果をオブジェクトとして使用する場合は、次の方法を使用します

$mon = mysql_fetch_object($result)
$mon->m4

新しい開発のためにMysqliまたはPDOの使用を開始してください。

于 2012-10-22T09:28:22.137 に答える
2

オブジェクト形式のデータにアクセスするには、mysql_fetch_array()ではなくmysql_fetch_object()を使用する必要があります。

于 2012-10-22T09:29:18.533 に答える
1

デバッグ目的で必要な場合は、簡単です

var_dump($mon);

のすべてのプロパティを提供します$mon

それ以外の場合は、結果の配列を繰り返し処理してみてください。

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
     echo $row['m4']; // etc.
}
于 2012-10-22T09:28:59.420 に答える
1

mysql_fetch_arrayはMySQLリソースから配列をフェッチするため、$monはオブジェクトではありません。次のようにアレイにアクセスする必要があります。

<?php echo $mon['m4']; ?>,
<?php echo $mon['m5']; ?>,
<?php echo $mon['m6']; ?>,

オブジェクトが必要な場合は、 mysql_fetch_objectを使用する必要があります。

于 2012-10-22T09:29:11.747 に答える