嗨,我正在用mysql处理一些代码,需要用php显示mysql的结果。
MySQL
select distinct(year(Cataloged_Date)) from records;
+------------------------+
| (year(Cataloged_Date)) |
+------------------------+
| 2009 |
+------------------------+
1 row in set (0.00 sec)
PHP
foreach($query->result() as $show){
$data[$i] = $show->Cataloged_Date;
$i++;
}我使用的是php的codeigniter。使用$show->Cataloged_Date将不会返回任何内容。我在想它的$show->一些东西来显示results...Just现在不能得到它…
发布于 2009-11-26 06:47:33
您需要在mysql查询中为您的字段提供一个明确的名称或别名-当您将函数应用于列时,列名称将是什么并不明显。
发布于 2009-11-26 06:59:55
试试这个:
//on MySQL
select distinct(year(Cataloged_Date)) as "Cat_Date" from records;
<?php
foreach($query->result() as $show){
$data[$i] = $show->Cat_Date;
$i++;
}
?>您可以为select中的任何“值”应用别名,可以是列名,也可以是函数的结果。
只管去做
SELECT something AS YourAlias ...给你一个清晰的例子:
mysql> select 1;
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)
#A simple value can be given an alias
mysql> select 1 as "Number";
+--------+
| Number |
+--------+
| 1 |
+--------+
1 row in set (0.00 sec)
mysql> select max(val) from my_values;
+----------+
| max(val) |
+----------+
| 4 |
+----------+
1 row in set (0.00 sec)
#A function
mysql> select max(val) as "max_val" from my_values;
+---------+
| max_val |
+---------+
| 4 |
+---------+
1 row in set (0.00 sec)
#or even a plain column
mysql> select val as "lav" from my_values;
+------+
| lav |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
+------+
4 rows in set (0.00 sec)发布于 2009-11-26 06:50:47
是的,这通常是正确的,但我使用的是Codeigniter php框架。我确实让它工作了
$query->first_row() as $show然后只需使用echo $show,结果就会显示出来,而您不需要知道行名。
https://stackoverflow.com/questions/1800429
复制相似问题