0

我有一个专为足球运动员设计的数据库,因此表中包含以下字段:

  • Person_ID
  • 网卡名称
  • 地址第一行
  • 联系电话
  • 出生日期
  • 邮政编码

我需要在Person_ID不实际输入 ID 号码的情况下为玩家提取号码,因为玩家不会知道他们的个人号码,并且设计为仅供系统使用。

当输入某些值时,我有用于选择播放器的 My sql 代码:

SELECT `Person_ID` FROM `person` WHERE `First_Name` = 'A Name' and `Surname` = 'Another Name'

然而,当放置到函数中时,这在 php 中并不会很好地返回。我目前拥有的功能如下所示(php)

function showid($fname, $sname, $d) {
    $sql = "SELECT `Person_ID` FROM `person` WHERE `First_Name` = '$fname' and `Surname` = '$sname'";
    $result = mysqli_query($d, $sql);
    if (!$result)
        print ("$sql failed".mysqli_error($d));
    else {
        print ("$fname $sname is selected<br>");
    }
}

$name并且$sname是用户输入的值,然后他们将能够转移到不同的团队或更新他们的帐户等,但我需要选择 ID,以便进一步的功能和查询可以充分发挥作用。

4

1 回答 1

-1

如果要获取所选玩家的 ID,请使用 fetch_array 函数

http://php.net/manual/en/mysqli-result.fetch-array.php

function showid($fname, $sname, $d) {
    $sql = "SELECT `Person_ID` FROM `person` WHERE `First_Name` = '$fname' and `Surname` = '$sname'";
    $result = mysqli_query($d, $sql);
    if (!$result)
        print ("$sql failed".mysqli_error($d));
    else {
        print ("$fname $sname is selected<br>");
    }

    $row = $result->fetch_array(MYSQLI_ASSOC);
    echo "Your ID is" . $row['Person_ID'];
}

这当然假设只有一个结果(否则我们将不得不循环),因此您可能需要检查 $result->num_rows 是否等于 1 并在它不是时返回错误(假设您没有在数据库中使用 UNIQUE)

于 2013-07-09T05:26:06.667 回答