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_object() 而不是 mysql_fetch_array() 才能访问对象格式的数据。

于 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

$mon 不是一个对象,因为 mysql_fetch_array 从 MySQL 资源中获取一个数组。您必须像这样访问您的数组:

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

如果你想要一个对象,你需要使用mysql_fetch_object 。

于 2012-10-22T09:29:11.747 回答