从数据库中获取userID

时间:2016-05-24 11:47:30

标签: php mysql

我有一个简单的博客,我正在练习一些php和mysql。我试图显示帖子作者的用户名(你知道作者发布的帖子)。 我有两个表blog_members和blog_posts,它们有1对多,所以我在blog_posts中有一个memberID字段。我试图获取该帖子作者的成员用户名。 我想要加入或者其他什么,但我无法解决这个问题。 这是我尝试做的事情,但它不起作用,因为我确定我没有正确使用它。

$query1 = "SELECT username from blog_members JOIN blog_posts ON memberID = memberID ";
$result1 = mysqli_query($link, $query1);
$row1 = mysqli_fetch_array($result1);

PS:我通过使用SESSION来获取用户ID,但是只有在用户被记录时才有效,但不是这样,我想在任何情况下显示名称。

谢谢!

4 个答案:

答案 0 :(得分:2)

以这种方式使用内部联接

使用正确的清理使用$ your_user_id进行匹配

<?php
$address = 'Cafe Coffee Day, INSIDE HPCL Petrol Bunk, Mumbai - Goa Highway,    
Mangaon, Maharashtra, India'; 
$prepAddr = str_replace(' ','+',$address);

$geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?     
address='.$prepAddr.'&sensor=false');

$output= json_decode($geocode);

// echo "<pre>";
// print_r($output);

$lat = $output->results[0]->geometry->bounds->northeast->lat;
$long = $output->results[0]->geometry->bounds->northeast->lng;
// $lati=round($lat,6);
// $longi=round($long,6);

echo $address.'<br>Lat: '.$lat.'<br>Long: '.$long;

?>

答案 1 :(得分:0)

尝试这样的事情,使用INNER JOIN

$query1 = "SELECT blog_members.username FROM blog_members INNER JOIN blog_posts ON blog_members.memberID = blog_posts.memberID ";

参考:http://www.w3schools.com/sql/sql_join.asp

答案 2 :(得分:0)

查询中的JOIN语法错误。

使用以下查询:

 $query1 = "SELECT username from blog_members JOIN blog_posts ON blog_members.memberID = blog_posts.memberID ";
 $result1 = mysqli_query($link, $query1);
 $row1 = mysqli_fetch_array($result1);

答案 3 :(得分:0)

以下是使用简单WHERE条件(相同性能Explicit vs implicit SQL joins)的解决方案:

SELECT a.username FROM blog_members a, blog_posts b WHERE a.memberID = b.memberID

但是如果您需要有关MySQL Join的更多信息:https://www.sitepoint.com/understanding-sql-joins-mysql-database/

希望这有帮助!