簡體   English   中英

JOIN表MySQL未加入PHP

[英]JOIN table MySQL not joining in PHP

我正在嘗試學習如何使用JOININNER JOINLEFT JOINRIGHT JOIN 我有以下用戶和生成器表

users
  uid
  username
  password
  email

creator
  id
  uid
  g_name
  g_bio

但是我不能加入他們。 我嘗試這樣JOIN

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;
            }

但是print_r什么都不顯示? 怎么了

首先,當您引用兩個表時,需要指定從哪個表中選擇每一列:

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

其次,在函數中,您傳入$uid ,然后將其轉換為$g_name ,但不在查詢中的任何地方使用它。 假設要使行與該值匹配,則需要添加其他where條件:

WHERE creator.g_name = '$g_name'

最后, 不要使用mysql_*()函數 ,而要使用mysqlipdo並利用准備好的語句。

您將函數參數$ uid轉義為$ g_name,但未使用它。 可能是“什么都沒發生”的原因嗎? 您應該這樣重寫查詢:

"SELECT username,g_name,g_bio FROM users
    JOIN creator ON users.uid = creator.uid
    WHERE g_name = '$g_name'"

除此之外,我認為您最好使用PDO和參數化查詢

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM