从两个表中获取信息

时间:2013-10-26 13:42:45

标签: php mysql sql

我有一个域,其中用户拥有一个具有自己名称的子域。

示例:

  • 用户:Vitor
  • 子域名:vitor.google.com

数据库包含usermy_users列,其列为birthdayaddresspasswordcity和{{1在表state中。 我如何在users_infos中用PHP实现这一点,可以将这些信息直接发送给数据库用户?

这是我的错误代码:

index.php

以下正确答案:

使用你给我的帮助,看起来我到了这里.. 遵循我可以为具有相同问题的未来用户所做的正确代码:

// Get Subdomain
$urlExplode = explode('.', $_SERVER['HTTP_HOST']);
if (count($urlExplode) > 2 && $urlExplode[0] !== 'www') {
    $subdomain = $urlExplode[0];    
    echo $subdomain;
}


// Select DB
$sql = "SELECT * FROM users_infos i INNER JOIN my_users u on u.id = i.id where u.users='$users'"; 
    $result = mysql_query($sql); 
    if($result === FALSE) { 
    die(mysql_error());
     // TODO: better error handling 
    }

else {
$row = mysql_fetch_array($result);
$userTitleSite = $row['userTitleSite'];
echo $id_textos = $row["id_textos"];
echo "<br />";
echo $id = $row["id"];
echo "<br />";
echo $phone = $row["phone"];
echo "<br />";
echo "<br />";

}

// Says that the subdomain is = user
$subdomain = $user;

谢谢大家的帮助! :)

2 个答案:

答案 0 :(得分:0)

$subdomain = $user;

应该在$ sql之前,因为你的代码写的是$ user是空的。

答案 1 :(得分:0)

您确定WHERE子句u.id = i.id是否正确?换句话说,my_users和users_infos表中的ID列是否匹配?在users_infos表(例如my_users_id)上有一个外键引用更常见,在这种情况下,查询将类似于:

SELECT * 
FROM users_infos i 
INNER JOIN my_users u on u.id = i.my_users_id
WHERE u.users='$users'