簡體   English   中英

如何獲取mysql表上的字段?

[英]how can i get a field on a mysql table?

我是php / mySQL新手,正在嘗試解決這個問題。 我有代碼來檢測是否獲得用戶名/密碼匹配,現在我正在嘗試獲取用戶名字段,以便我可以更新記錄。 這是我到目前為止的內容:

    $sql = "SELECT username FROM users WHERE username='$username' AND password='$password'";
    $result = $link->query($sql) or die(mysqli_error());

使用print_r($ result)表示有一個項目,但是我從這里開始就迷路了。

嘗試這個。

$sql = "SELECT username FROM users WHERE username='$username' AND password='$password'";
$result = $link->query($sql) or die(mysqli_error());

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {

        $userID= $row['username'] ;
        // If you need other field as userID just change the sql and the index of $row according to that.

}

編輯

如果只想獲得一行。

if($result->num_rows==1)
{
   $row = $result->fetch_array(MYSQLI_ASSOC);
   $userID = $row["username"];
}

也許這會有所幫助。 任何編程語言中,運行SQL查詢都將包含以下步驟:

  1. 生成要運行的SQL語句的文本。
  2. (可選)如果您的語句涉及參數 (或“占位符”)的使用,請准備一個參數值數組,以替換每個參數值。
  3. (“准備”和...)在某些先前打開的“數據庫連接”上“運行”查詢。 (在您的示例中,“ $ link”必須對應於該連接。)這為您提供了一個句柄 (您稱其為“ $ result”),該句柄與該查詢返回的零個或多個行相對應。
  4. 現在,使用該句柄一次檢索每行,直到沒有更多行或您厭倦了這樣做為止。
  5. (可選)保持整潔,然后“關閉”句柄,從而向數據庫系統指示它可以舍棄它用來向您提供這些行的所有資源。

“簡單地說,這些是已知領域中每個程序都要經過的基本步驟。”並且,如果現在再次瀏覽PHP文檔,您將看到有對應於每個功能的函數。腳步。 瀏覽您正在閱讀的章節,看看現在是否可以與我剛剛描述的場景相匹配。 HTH ...

暫無
暫無

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

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