Mysql连接2具有相同列名的表而不使用别名

 1021365712_3a478e 发布于 2023-02-13 15:17

我得到了这个例子,但我想总体上知道如何在不使用别名的情况下在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];
 }

这个例子只是用别名来解决,但还有另外一种方法,比如示例吗?感谢您的时间

1 个回答
  • 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
    

    2023-02-13 15:19 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有