2013-01-21 30 views
0

我有一个专为足球运动员,因此具有以下字段的表的数据库:检索值id从SQL数据库,PHP这是不是最后插入

  • PERSON_ID
  • 将First_Name
  • NICNAME
  • 地址行
  • Contact_Number
  • DATE_OF_BIRTH
  • 邮编

我需要提取Person_ID为玩家无需实际输入ID号为玩家不会知道自己的个人号码,被设计成仅通过系统中使用。

我有当输入特定的值中选择一个球员我的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以便进一步的功能和查询可以完全工作。

+0

你有一列“Person ID”是支持列的空格不这么认为? – Luceos

+3

他们支持(当反引号封闭) - 虽然他们是一个可怕的想法。 – Strawberry

+0

作为'$ fname'和'$ sname'传递了什么值?他们真的存在于桌子上吗?什么错误正在返回? – hjpotter92

回答

-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)返回一个错误

相关问题