簡體   English   中英

mysql查詢未獲取用戶數據

[英]mysql query not getting the user data

我正在使用 apigee 控制台使用以下 URI 測試我的 Web 服務。 當我選擇所有用戶時,查詢返回數據( http://creative.coventry.ac.uk/~4089797/Games/V1.0/index.php/users/all ):

[
{"id":"1","username":"fkhan","password":"XXXXXXXX","email":"fkhan@fkhan.com","Gender":null,"country":null,"activated":"0"},

{"id":"2","username":"bkhan","password":"XXXXXXXX","email":"bkhan@fkhan.com","Gender":null,"country":null,"activated":"0"},

{"id":"3","username":"ckhan","password":"XXXXXXXX","email":"ckhan@fkhan.com","Gender":null,"country":null,"activated":"0"}
]

但是當我選擇特定用戶時,查詢不會返回任何數據(creative.coventry.ac.uk/~4089797/Games/V1.0/index.php/users/username/fkhan 是):

{"status":false,"error":"Unknown method."}

我在 MySQL 數據庫中有一個名為user ,這是檢索名稱的 PHP:

 function users_get($users_username) {
    $this->load->database();
    $sql = 'SELECT * FROM users WHERE username = "'.$username.'";';
    $query = $this->db->query($sql);
    $data = $query->row();
    $this->response($data, 200);
}

這是查詢功能:

function all_get() {
    $this->load->database();
    $sql = 'SELECT * FROM users;';
    $query = $this->db->query($sql);
    $data = $query->result();   
    $this->response($data, 200);
}

為什么我會得到所有用戶的結果,而不是某個特定用戶?

在方法聲明中你有參數$users_username但在方法實現中你使用$username ,這是你的主要錯誤:變量$username不存在所以它是null 代替

$sql = 'SELECT * FROM users WHERE username = "'.$username.'";';

$sql = 'SELECT * FROM users WHERE username = "'.$users_username.'";';

此外,請考慮使用准備好的語句,而不是手動將變量放入查詢字符串中。

函數中未定義username變量,因此它為空。 我相信您已經對其名稱感到困惑,並打算使用$users_username

    $sql = 'SELECT * FROM users WHERE username = "'.$username.'";';

替換為:

$sql = 'SELECT * FROM users WHERE username = "'.$users_username.'";';

你的變量被稱為$users_username但查詢是變量$username所以你的最終查詢是SELECT * FROM users WHERE username = ""; 並且沒有空字符串的用戶。 :)

看起來您在 SQL 命令中使用了錯誤的變量。 該函數定義為

函數 users_get($users_username) {

其中輸入變量是 $users_username

但在你的 SQL 命令中

$sql = 'SELECT * FROM users WHERE username = "'.$username.'";';

你使用 $username

將您的 SQL 命令更改如下,應該沒問題

$sql = 'SELECT * FROM users WHERE username = "'.$users_username.'";';

暫無
暫無

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

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