Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 加入第二个选择结果_Php_Mysql_Join - Fatal编程技术网

Php 加入第二个选择结果

Php 加入第二个选择结果,php,mysql,join,Php,Mysql,Join,我有两张桌子: perfil(配置文件)和用户 在perfil上,我有一列user\u id,表示指定的用户 我正在尝试使用user.user(例如kevinkouketsu)获取perfil.user_id上使用的user.id SELECT perfil.*, userId.*, r.Nome as cityName, userId.id as userId FROM perfil LEFT JOIN (SELECT * FROM user WHERE user='SOMEVALUE')

我有两张桌子: perfil(配置文件)和用户

在perfil上,我有一列user\u id,表示指定的用户

我正在尝试使用user.user(例如kevinkouketsu)获取perfil.user_id上使用的user.id

SELECT perfil.*, userId.*, r.Nome as cityName, userId.id as userId 
FROM perfil 
LEFT JOIN (SELECT * FROM user WHERE user='SOMEVALUE') as userId ON perfil.user_id=userId.id 
LEFT JOIN municipio AS r ON perfil.city=r.Codigo
我将此代码和结果设置为perfil表上的所有内容,并将别名userId结果设置为NULL

结果示例:

array (size=20)   
 'id' => null  
 'user_id' => string '1' (length=1)  
 'conjuge' => string 'Alice Elias Patrício' (length=21)  
 'conjuge_aniver' => string '2018-02-24 20:49:10' (length=19)  
 'state' => string 'SC' (length=2)  
 'city' => string '4217709' (length=7)  
 'perfil_img' => string '' (length=0)  
 'user' => null  
 'senha' => null    
 'email' => null  
 'nome' => null  
 'access' => null  
 'type' => null  
 'empresa_id' => null
 'rede_id' => null  
 'birthday' => null  
 'created' => null  
 'phone' => null  
 'cityName' => string 'Sombrio' (length=7)  
 'userId' => null<
数组(大小=20)
'id'=>null
'user_id'=>字符串'1'(长度=1)
“魔术师”=>字符串“爱丽丝·埃利亚斯·帕特里西奥”(长度=21)
“魔术师”=>string“2018-02-24 20:49:10”(长度=19)
'state'=>字符串'SC'(长度=2)
'city'=>字符串'4217709'(长度=7)
“perfil_img”=>字符串“”(长度=0)
“用户”=>null
“senha”=>null
“电子邮件”=>null
“nome”=>null
“访问”=>null
'type'=>null
“empresa_id”=>null
“rede_id”=>null
“生日”=>null
“已创建”=>null
'电话'=>空
'cityName'=>字符串'Sombrio'(长度=7)
“userId”=>null<
试试这个:

SELECT perfil.*, user.*, r.Nome as cityName, user.id as userId 
FROM user 
LEFT JOIN perfil ON perfil.user_id=user.id 
LEFT JOIN municipio AS r ON perfil.city=r.Codigo
WHERE user.user='SOMEVALUE'

你的问题让我有点困惑,但我想你的意思是:
SELECT perfil.*,user.*,r.Nome as cityName FROM perfil LEFT JOIN user ON perfil.user\u id=user.id LEFT JOIN municipio as r ON perfil.city=r.Codigo
(假设
user
上的主键是
id
)两件事:
id
它是一个整数,
user
它是url的字符串,例如:127.0.0.1/profile/kevin你知道我的意思吗?所以我需要取下这个
kevin
并搜索
'id
以获得perfil表。我需要另一个类似的例子,我想我不明白。您选择的是所有性能,对于用户“SOMEVALUE”,您也选择了用户数据(而对于所有其他性能,您不选择,并将此数据保留为空)。问题是,看,在某些情况下,这是有效的。当perfil表没有
用户id
且未配置自定义配置文件且只有简单配置文件时,返回null。已使用新查询。谢谢@牧羊人如果成功了,请别忘了更新这个答案:)