2013-12-20 78 views
0

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

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

问题:如何返回它插入的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()); 
} 

} 
+3

http://php.net/mysql_insert_id - 但是,请注意有关该功能(以及所有mysql_ *函数)@andrewsi心中已经看到了这一点 – andrewsi

+0

大红色警告框。 ..但是如果我添加$ id = mysql_insert_id();然后返回$ id;我怎样才能从其他文件中获取返回的值?因为如果我再次调用函数是说它不能查询(显然是因为当我打电话给它时,它想再次插入数据库) – Alex

+0

在这种情况下,你只需要从这个函数返回'$ id'。 – andrewsi

回答

0

您可以使用此行代码:

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

但是请注意,这个函数从php 5.5.0开始不推荐使用。 如果你看看php.net/mysql_insert_id提供了一些替代建议。

1

这个问题不仅仅是关于如何获得最后一个插入ID,它还涉及如何在函数之外获取它。

它需要由函数返回。

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

当你调用该函数,返回设置变量

$last_insert_id=newBorrow_request($some_data); 

,您可以使用

echo $last_insert_id; 

NB。请使用库MySQLi或PDO,而不是MySQL的

+1

完美!谢谢 – Alex

相关问题