PHP关系密钥错误
我有几个表中的关系连接的MySQL。每个人都有自己的唯一ID和数据。试图查询它们只有当我得到一个奇怪的结果:PHP关系密钥错误
(use print_r)
Array ([0] => Array ([id] => 1
[0] => 1
[tbl2_id] => 1
[1] => 1
[tbl3_id] => 1
[2] => 1
[3] => 1
[name] => name1
[4] => name1
[surname] => ...
)
)
我不想0等。
只是为了例如,它应该是这样的:
(use print_r)
Array ([0] => Array ([id] => 1
[tbl1_id] => 1
[tbl2_id] => 1
[tbl2_tbl1id] => 1
[tbl3_id] => 1
[tbl2_tbl1id] => 1 ...
)
)
或类似的东西。我使用的PDO,当它调用SQL看起来是这样的:
SELECT *
FROM `tbl`
INNER JOIN (tbl2, tbll)
ON tbl.tbl1_id=tbl1.id
AND tbl.tbl2_id=tbl2.id
WHERE 1
在MySQL中使用后得到这样的效果在画面(运行SQL查询/查询上databas)
这看起来像您正在使用PDoCtatement :: fetch()并将fetch_style设置为PDO :: FETCH_BOTH - 这是默认设置。
http://php.net/manual/en/pdostatement.fetch.php
使用PDO :: FETCH_ASSOC为fetch_style,你应该得到你所期待的。
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
现在的作品,但不是我想要的,问题是我的意思是牙齿剩下两个版本的“ID”或其他表,如“名称”,只是为了使他们被歧视,因为我有一个用户表,其中你是“名称”,我有一张桌子tbl1,在这张桌子里你也是“名字”,通过这个对我来说消失了。唯一的解决方案是更改表的名称? – ubgsdnhfj 2014-10-17 20:32:29
然后不要'SELECT *' - 只选择你需要的字段。你也可以别名表 - 'SELECT tb1.name FROM ...' – FlipMcF 2014-10-17 20:35:53
Upvote answer if it works“你的评论是一个单独的问题。 – FlipMcF 2014-10-17 20:39:16
一些少量更改数据库,但主要是饲料,而不是ID提供意见写$行[“tbl1.id”]或$行[“tbl2.id”],而不是在mysql中显示了我两次“id”和print_r显示为[0]或[1]等等 – ubgsdnhfj 2014-10-17 20:08:44
您能否提供代码以显示如何查询和获取结果? – FlipMcF 2014-10-17 20:13:02