MYSQL在mysql_query数组中定义某些列?

Dyl*_*oss 0 php mysql while-loop

当我从多个共享列名的表中进行选择时,我可以返回两者,但是定义哪一个我想从中选择数据?

例如:两个表都包含"日期"列,我想同时使用这两个列,但我希望避免重命名具有重复名称的每个列.

 $query = mysql_query("SELECT * FROM posts, comments"); //(SELECT * is just for example)
 while($row=mysql_fetch_array($query))
 {
     $postDate = $row['date'];  //I would like to be able to do something like:
                                //$postDate = $row['posts']['date']; OR $row['posts.date'];
                                //of course it's all in an array now, jumbled up.
     $commentDate = $row['date']; 
 }
Run Code Online (Sandbox Code Playgroud)

Phi*_*hil 5

如果需要,您需要在查询中为重复的列名称添加别名,例如

SELECT p.date AS postDate, c.date AS commentDate
FROM posts p, comments c
Run Code Online (Sandbox Code Playgroud)

然后使用别名来检索值

$postDate = $row['postDate'];
$commentDate = $row['commentDate'];
Run Code Online (Sandbox Code Playgroud)

仅供参考,这几乎不是一个好主意SELECT *,特别是涉及多个表时.您应该始终尝试具体说明添加到SELECT子句中的列