2017-04-22 35 views
-1

我的連接& SQL查詢已經過測試,他們的工作。我只是試圖將一列數據打印到我的瀏覽器中進行輸出,以便我可以測試數據庫的其餘部分。我只是試圖打印一行,當我運行代碼時,瀏覽器中沒有任何內容顯示爲輸出。數據庫列名是「type」,並且在那裏爲我登錄的用戶提供「1」。登錄工作,但我想讀取數據庫中的整數,以便將其引導至特定的配置文件。我無法從我的表格打印輸出到瀏覽器中。Mysqli打印和顯示在瀏覽器從表

$role = "SELECT type FROM fp.user WHERE usname ='$username' AND pswd = '$password'"; 
$access = mysqli_query($link, $role); 

$row = mysqli_fetch_row($access); 

echo $row['type']; 
+0

當你執行'var_dump($ row)'時會發生什麼? – FrankerZ

+1

**警告:**使用'mysqli'時,應該使用[參數化查詢](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和[bind_param](http: //php.net/manual/en/mysqli-stmt.bind-param.php)將用戶數據添加到您的查詢中。不要使用字符串插值或串聯來實現這個,因爲你已經創建了一個嚴重的[SQL注入漏洞](http://bobby-tables.com/)。 **不要**將'$ _POST','$ _GET'或**任何**用戶數據直接放入查詢中,因爲如果有人試圖利用您的錯誤,這可能會非常有害。 – FrankerZ

+0

我將其更改爲var_dump ..它實際上給了我一個NULL的輸出 – Drizzle53

回答

1

查詢可能有問題。您應該檢查$access是否首先是錯誤的(這表示查詢失敗),並回顯與查詢相關的錯誤。

$role = "SELECT type FROM fp.user WHERE usname ='$username' AND pswd = '$password'"; 
$access = mysqli_query($link, $role); 

if (!$access) 
{ 
    echo 'There was a problem running this query: ', mysqli_error($link); 
    exit; 
} 

$row = mysqli_fetch_row($access); 

此外,根據該文檔:

獲取數據的一行從結果集,並返回它作爲枚舉數組,其中每個列存儲在數組中的偏移從0開始(零)。隨後對此函數的每次調用將返回結果集中的下一行,如果沒有更多行,則返回或NULL。

檢查以確保數據庫中的用戶/密碼組合正確。另一個問題可能是該用戶名/ $密碼組合沒有用戶存在。

+0

查詢很好.. – Drizzle53

+0

因此,在運行上述代碼時沒有得到echo'd? – FrankerZ

+0

true ..瀏覽器中沒有顯示 – Drizzle53