我如何分别回显 helper tbl status 列和 getter tbl status 列字段
Posted
技术标签:
【中文标题】我如何分别回显 helper tbl status 列和 getter tbl status 列字段【英文标题】:How can i echo out the helper_tbl status column seperately and the getter_tbl status column field too 【发布时间】:2020-02-06 00:12:22 【问题描述】:我希望能够指定正在回显的表格列。
当我尝试从帮助列打印出来时,我变得空白
$query = $db->fetch("SELECT n.*, g.* FROM helper AS n LEFT JOIN getter AS g ON n.user_id= g.user_id WHERE n.user_id='$id' OR g.user_id='$id' ");
if($query !== '')
foreach($query as $value)
$output .= $value['n.status'];
print $output;
【问题讨论】:
您的代码易受 SQL 注入攻击。您应该使用准备好的语句。 【参考方案1】:您的问题是两列都称为status
,因此当结果数组形成时,第二个status
值会覆盖第一个值(因为对于给定的关联键,php 数组只能有一个值)。您可以使用列别名解决这个问题:
$query = $db->fetch("SELECT n.*, g.*, n.status as n_status, g.status as g_status
FROM helper AS n
LEFT JOIN getter AS g ON n.user_id= g.user_id
WHERE n.user_id='$id' OR g.user_id='$id' ");
if($query !== '')
foreach($query as $value)
$output .= $value['n_status'];
print $output;
请注意,您的user_id
列(可能还有其他列)也会遇到同样的问题。一般来说,最好单独枚举你想要的列(而不是使用*
),这样你就可以从一开始就避免这个问题。
【讨论】:
@Okorokelechi 不用担心 - 我很高兴能提供帮助。以上是关于我如何分别回显 helper tbl status 列和 getter tbl status 列字段的主要内容,如果未能解决你的问题,请参考以下文章