0

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

该函数将数据插入数据库,并且工作正常。

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

谢谢

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());
}

} 
4

3 回答 3

1

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

它需要由函数返回。

function newBorrow_request($newBorrowRequest){
    // your procedure
    return mysql_insert_id();
}

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

$last_insert_id=newBorrow_request($some_data);

你可以使用

echo $last_insert_id;

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

于 2013-12-20T23:36:10.917 回答
0

如果您使用的是 < 5.5.0: http: //php.net/mysql_insert_id

首选: http ://www.php.net/manual/en/mysqli.insert-id.php

于 2013-12-20T23:31:33.137 回答
0

你可以使用这行代码:

printf("Last inserted record has id %d\n", mysql_insert_id());

但请注意,从 php 5.5.0 开始,该函数已被弃用。如果您查看 php.net/mysql_insert_id,会给出一些替换建议。

于 2013-12-20T23:33:21.290 回答