我得到了这个例子,但我想总体上知道如何在不使用别名的情况下在MySQL中获取具有相同名称的2列?
例:
$query = "SELECT app.*, categorie.* FROM app JOIN categorie ON app.id = categorie.id"; while ($row = mysql_fetch_array($query)) { $categorie = $row[categorie.name]; //is there a way to do this? $aplicativo = $row[app.name]; }
这个例子只是用别名来解决,但还有另外一种方法,比如示例吗?感谢您的时间
mysql_fetch_array
自PHP 5.5.0起,此扩展已弃用,将来将被删除.相反,应该使用MySQLi或PDO_MySQL扩展.另请参阅MySQL:选择API指南和相关的常见问题解答以获取更多信息.该功能的替代方案包括:
mysqli_fetch_array() PDOStatement::fetch()
如果结果的两列或更多列具有相同的字段名称,则最后一列将优先.要访问同名的其他列,必须使用列的数字索引或为列创建别名.对于别名列,您无法使用原始列名访问内容.
示例#1使用别名重复字段名称进行查询
SELECT table1.field AS foo, table2.field AS bar FROM table1, table2
因此,在您的情况下,查询应该是,如文档所示,使用别名或数字索引:
SELECT app.name as "app.name",... , categorie.name as "categorie.name",... FROM app JOIN categorie ON app.id = categorie.id