2014-03-25 53 views
1

這段代碼有什麼問題?爲什麼我無法從website數據庫的members表中獲得username。這裏的數據庫信息的截圖:我的sql查詢出了什麼問題? (PHP)

enter image description here

我試圖做一個功能它,這樣我以後可以使用它。下面的代碼:

<?php 
function get_username($username){ 
    $host = 'localhost'; 
    $username = 'root'; 
    $password = ''; 
    $database = 'website'; 
    $con = mysqli_connect($host, $username, $password, $database); 

    $query = "SELECT * FROM members WHERE username = '{$username}'"; 

    $result = mysqli_query($con, $query); 

    $row = mysqli_fetch_array($result); 

    return $row['name']; 

    mysqli_close($con); 
} 

echo get_username('iamfaizahmed'); 
?> 
+0

也許沒有名爲'name'的列?或者'$ username'不存在?或者你的數據庫可能有錯誤的密碼?或甚至其他的東西。你不會提供太多的信息繼續下去。 –

+0

@GordonLinoff所有這些信息已被添加到帖子中。 –

+1

@Beat說什麼......? – deceze

回答

6

您的用戶名在功能覆蓋

$username = 'root'; // here 

所以不管你在函數參數傳遞它總是使用

where username = 'root' 

所以使用不同的變量名

+3

通常最難的問題是像這樣或錯字的愚蠢錯誤造成的問題:')不要忘記接受答案,以便您的問題可以關閉。 –

3

你的函數$username和你的連接變量的$username

變化之間的混合此

function get_username($username){ 

function get_username($user){ 

,做你的查詢像那樣

$query = "SELECT * FROM members WHERE username = '$user'"; 
0

首先,你的$username變量。
你通過函數傳遞它,並使用它的數據庫連接。

在功能更改您的數據庫用戶名作爲$dbusername

二,查詢。保持原樣:

$query = "SELECT * FROM members WHERE username = '$username'"; 

現在,一旦你的基本知識做,我建議您訪問以下鏈接:Click Here

這應該讓你的地方!