dongli1887 2014-06-06 19:45
浏览 37
已采纳

JOIN表MySQL没有加入PHP

I am trying to learn how to use JOIN, INNER JOIN, LEFT JOIN and RIGHT JOIN. I have the following users and generator tables

users
  uid
  username
  password
  email

and

creator
  id
  uid
  g_name
  g_bio

But I cannot join them. I try to JOIN like this :

public function Generator($uid) {
            $g_name=mysql_real_escape_string($uid);
            $query= mysql_query ("SELECT username,g_name,g_bio FROM users JOIN creator ON users.uid = creator.uid");
            $data=mysql_fetch_array($query);

            return $data;
            }

But print_r does not show anything? What is wrong here?

  • 写回答

2条回答 默认 最新

  • drny60365 2014-06-06 20:00
    关注

    First thing, when you are referencing two tables, you need to specify from which table you are selecting each column from:

    SELECT 
        users.username,
        creator.g_name,
        creator.g_bio 
    FROM users 
    JOIN creator ON users.uid = creator.uid
    

    Second, in your function, you are passing in $uid, and then converting it to $g_name, but not using it anywhere in your query. Assuming you want rows matching this value, you need to add an additional where condition:

    WHERE creator.g_name = '$g_name'
    

    Finally, don't use the mysql_*() functions, instead use mysqli or pdo and utilize prepared statements.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化