Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php中的sql数据库中检索未最后插入的id值_Php_Mysql_Sql - Fatal编程技术网

从php中的sql数据库中检索未最后插入的id值

从php中的sql数据库中检索未最后插入的id值,php,mysql,sql,Php,Mysql,Sql,我有一个专为足球运动员设计的数据库,表中有以下字段: 个人识别码 名字 姓 昵称 地址第1行 联络电话 出生日期 邮政编码 我需要为玩家提取个人ID,而不需要实际输入ID号,因为玩家不知道自己的个人号码,并且只供系统使用 我有我的sql代码,用于在输入某些值时选择播放器: SELECT `Person_ID` FROM `person` WHERE `First_Name` = 'A Name' and `Surname` = 'Another Name' 然而,当放入函数中时,这在php

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

  • 个人识别码
  • 名字
  • 昵称
  • 地址第1行
  • 联络电话
  • 出生日期
  • 邮政编码
我需要为玩家提取
个人ID
,而不需要实际输入ID号,因为玩家不知道自己的个人号码,并且只供系统使用

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

SELECT `Person_ID` FROM `person` WHERE `First_Name` = 'A Name' and `Surname` = 'Another Name'
然而,当放入函数中时,这在php中不会很好地返回。我目前拥有的函数如下所示(php)

函数showid($fname,$sname,$d){
$sql=“从`Person`中选择`Person\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
$result=mysqli_查询($d,$sql);
如果(!$result)
打印($sql失败)。mysqli_错误($d));
否则{
打印($fname$sname被选中
); } }

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

如果您想要获取所选玩家的ID,使用fetch_数组函数

函数showid($fname,$sname,$d){
$sql=“从`Person`中选择`Person\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
$result=mysqli_查询($d,$sql);
如果(!$result)
打印($sql失败)。mysqli_错误($d));
否则{
打印($fname$sname被选中
); } $row=$result->获取数组(MYSQLI\u ASSOC); echo“您的ID为”。$row['Person_ID']; }

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

您是否有列“Person ID”支持列中的空格,不这样认为吗?它们是受支持的(如果用反勾号括起来)-虽然它们是一个糟糕的主意。什么值作为
$fname
$sname
传递?它们确实存在于表中吗?返回了什么错误?它们确实存在于表中,并且被分配了一个唯一的id。例如,它们将是诸如“John”和“Smith”之类的值。只返回了名称,没有返回错误消息但是我不知道如何才能选择并显示ID 1)确保您的查询是正确的
var\u dump($sql)2)用于确保安全3)确保连接变量存在
var\u dump($d)
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>");
    }
}
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'];
}