首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MySQL insert返回行ID

问从MySQL insert返回行ID
EN

Stack Overflow用户
提问于 2013-12-21 07:28:48
回答 3查看 229关注 0票数 0

我在一个函数文件中有这个函数。我使用以下命令调用它(从另一个调用包含函数文件的文件中):newBorrow_request ($newBorrowRequest);($newBorrowRequest)是一个字段数组。

该函数将数据插入到数据库中,并且运行良好。

问题:如何返回插入到其中的ID字段?我需要在调用函数的同一文件中的值,有人能给我函数的代码&如何在另一个文件中调用它来获取ID的代码吗?

谢谢

代码语言:javascript
复制
function newBorrow_request($newBorrowRequest) {
array_walk($newBorrowRequest, 'array_sanitise');

$fields = '`' . implode('`, `', array_keys($newBorrowRequest)) . '`';
$data = '\'' . implode('\', \'', $newBorrowRequest) . '\'';

$query = mysql_query("INSERT INTO `borrowRequest` ($fields) VALUES ($data)");
if (!$query) {
    die('Could not query:' . mysql_error());
}

} 
EN

回答 3

Stack Overflow用户

发布于 2013-12-21 07:36:11

问题不仅仅在于如何获取最后一个insert id,还在于如何在函数之外获取它。

它需要由函数返回。

代码语言:javascript
复制
function newBorrow_request($newBorrowRequest){
    // your procedure
    return mysql_insert_id();
}

调用函数时,返回值设置变量

代码语言:javascript
复制
$last_insert_id=newBorrow_request($some_data);

您可以使用

代码语言:javascript
复制
echo $last_insert_id;

注意:请使用mysqli或PDO代替mysql

票数 1
EN

Stack Overflow用户

发布于 2013-12-21 07:31:33

票数 0
EN

Stack Overflow用户

发布于 2013-12-21 07:33:21

您可以使用下面这行代码:

代码语言:javascript
复制
printf("Last inserted record has id %d\n", mysql_insert_id());

但请注意,此函数在php 5.5.0中已被弃用。如果您查看php.net/mysql_insert_id,会给出一些替代建议。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20713555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档