Bug #54142 [Opn->Bgs]: the function mysqli_insert_id doesn't return the last id

From: Date: Thu, 03 Mar 2011 05:08:26 +0000
Subject: Bug #54142 [Opn->Bgs]: the function mysqli_insert_id doesn't return the last id
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-159183@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=54142&edit=1

 ID:                 54142
 Updated by:         dtajchreber@php.net
 Reported by:        lissetteganoza at gmail dot com
 Summary:            the function  mysqli_insert_id doesn't return the
                     last id
-Status:             Open
+Status:             Bogus
 Type:               Bug
 Package:            PHP options/info functions
 Operating System:   windows
 PHP Version:        5.2.17
 Block user comment: N
 Private report:     N

 New Comment:

david@copenhagen:~/test$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 64
Server version: 5.1.41-3ubuntu12.10 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> describe test;
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| pid   | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| n_pid | date             | NO   |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql> select * from test;
+-----+------------+
| pid | n_pid      |
+-----+------------+
|   1 | 2011-03-02 |
+-----+------------+
1 row in set (0.00 sec)

mysql> exit
Bye
david@copenhagen:~/test$ cat t.php 
<?php

$l = mysqli_connect('127.0.0.1', 'root', 'root');
var_dump(mysqli_select_db($l, 'test'));
var_dump(mysqli_query($l, 'insert into test (n_pid)
values(curdate())'));
var_dump(mysqli_insert_id($l));

david@copenhagen:~/test$ /home/david/dev/php/php53/sapi/cli/php -v
PHP 5.3.6-dev (cli) (built: Feb 26 2011 23:29:38) (DEBUG)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
david@copenhagen:~/test$ /home/david/dev/php/php53/sapi/cli/php t.php 
bool(true)
bool(true)
int(9)
david@copenhagen:~/test$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 66
Server version: 5.1.41-3ubuntu12.10 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from test;
+-----+------------+
| pid | n_pid      |
+-----+------------+
|   1 | 2011-03-02 |
|   9 | 2011-03-02 |
+-----+------------+
2 rows in set (0.00 sec)

mysql> exit
Bye
david@copenhagen:~/test$


Previous Comments:
------------------------------------------------------------------------
[2011-03-02 22:42:17] lissetteganoza at gmail dot com

Description:
------------
---
From manual page: http://www.php.net/mysqli.insert-id#Descripción
---

The function mysqli_insert_id  does not return the if of the last
insert. The 
query was executed without problem but I can get the id of this insert.
I want to 
konw if exist other function other possiblity, maybe I need to
reconfigure some 
value in the php ini, but I need a solution and this solution must be in
the 
documents of this funcionality.
I'm adding the function that I have for insert a row.
 

Test script:
---------------
function insert($ins)
	{
		$result = @mysqli_query($this->conn,$ins);

		if (!$result)
		{
			$this->writeTemplate(DB_TITULO_ERROR,mysqli_error());
		}

		return @mysqli_insert_id($this->conn);
	}

Expected result:
----------------
- A solution to use correctly this function
- Id does not exist a solution with this function, another solution with
other 
functions of mysql

Actual result:
--------------
the function returns a empty object.


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=54142&edit=1


Thread (2 messages)

« previous php.bugs (#159183) next »