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)
如果需要,您需要在查询中为重复的列名称添加别名,例如
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子句中的列