Php 在我调用存储过程之后,如何获取行的id

Php 在我调用存储过程之后,如何获取行的id,php,mysql,mysqli,Php,Mysql,Mysqli,我刚刚执行了一个存储过程,它将航班信息插入到我的表中,我想在每次插入后获得id。但我无法找到其他适合我的方法。我想得到自动递增的航班号 mysqli_query($conn,"CALL addschedule('$airlineID','$from','$to','$departDate','$arriveDate','$departTime','$arrivalTime','$price')"); $last_id = mysqli_insert_id($conn); echo $last_

我刚刚执行了一个存储过程,它将航班信息插入到我的表中,我想在每次插入后获得id。但我无法找到其他适合我的方法。我想得到自动递增的航班号

mysqli_query($conn,"CALL addschedule('$airlineID','$from','$to','$departDate','$arriveDate','$departTime','$arrivalTime','$price')");

$last_id = mysqli_insert_id($conn);
echo $last_id;
运行
mysqli\u insert\u id
只会返回一个值0,但我的上一个航班id是3。谁能给我一个清楚的解释

mysqli_insert_id-返回上次查询中使用的自动生成的id

函数的作用是:返回一个表的查询生成的id,该表的列具有AUTO_INCREMENT属性。如果最后一个查询不是INSERT或UPDATE语句,或者如果修改的表没有具有AUTO_INCREMENT属性的列,则此函数将返回零

因此,请检查您是否已将自动增量属性设置为
id
字段

或者,如果您已将其设置为自动增量。此示例代码可能会对您有所帮助

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");


$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

/* In op's case
mysqli->query($conn,"CALL addschedule('$airlineID','$from','$to','$departDate','$arriveDate','$departTime','$arrivalTime','$price')");
*/

printf ("New Record has id %d.\n", $mysqli->insert_id);


/* close connection */
$mysqli->close();
?>
在php代码中

$result=mysqli_query($conn,"CALL addschedule('$airlineID','$from','$to','$departDate','$arriveDate','$departTime','$arrivalTime','$price')");

echo "Last ID: ".$result;
这可能对你的工作有帮助


PS:我没有测试此代码。希望工作

它仍然会给我返回0。它在存储过程之后工作吗?不在存储过程中工作。请参见“谢谢”,但如何从存储过程中获取最后一个id?在SP中使用
last_INSERT_id()这是mysql函数。更多细节可以在这里找到
$result=mysqli_query($conn,"CALL addschedule('$airlineID','$from','$to','$departDate','$arriveDate','$departTime','$arrivalTime','$price')");

echo "Last ID: ".$result;