繁体   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