LAST_INSERT_ID with ZEROFILL

LAST_INSERT_ID with ZEROFILL

am 18.10.2007 20:45:25 von shumaker

I am losing the leading zeros when I get autoincrement IDs from a
column with ZEROFILL enabled. I would like to have the leading
zeros. I have tried both the php function last_insert_id as well as
running a SELECT query and using the result. I am getting the correct
id, it is just losing the leading zeros. I have doulbe checked the
table in the database, and it does have the leading zeros. Thanks for
any help.

$result = mysql_query($insertQuery);
if($result)
{
//$uniqueFilenameResult = mysql_insert_id($link).$uploadFilename;
$insertIDResult = mysql_query("SELECT LAST_INSERT_ID()");
if($insertIDResult)
{
$nrows = mysql_num_rows($insertIDResult);
$rows = mysql_fetch_row($insertIDResult);
$uniqueFilenameResult = $rows[0].$filename;
}
}

Re: LAST_INSERT_ID with ZEROFILL

am 18.10.2007 21:06:42 von Michael Fesser

..oO(WebSnozz)

>I am losing the leading zeros when I get autoincrement IDs from a
>column with ZEROFILL enabled.

I wouldn't rely on that.

>I would like to have the leading
>zeros. I have tried both the php function last_insert_id as well as
>running a SELECT query and using the result. I am getting the correct
>id, it is just losing the leading zeros. I have doulbe checked the
>table in the database, and it does have the leading zeros. Thanks for
>any help.

Just store normal integers and add the leading zeros when you really
need them, for example with sprintf() in your script

Micha

Re: LAST_INSERT_ID with ZEROFILL

am 19.10.2007 03:19:39 von Kelsey Sigurdur

On Thu, 18 Oct 2007 18:45:25 +0000, WebSnozz wrote:

> I am losing the leading zeros when I get autoincrement IDs from a
> column with ZEROFILL enabled. I would like to have the leading
> zeros. I have tried both the php function last_insert_id as well as
> running a SELECT query and using the result. I am getting the correct
> id, it is just losing the leading zeros. I have doulbe checked the
> table in the database, and it does have the leading zeros. Thanks for
> any help.
>
> $result = mysql_query($insertQuery);
> if($result)
> {
> //$uniqueFilenameResult = mysql_insert_id($link).$uploadFilename;
> $insertIDResult = mysql_query("SELECT LAST_INSERT_ID()");
> if($insertIDResult)
> {
> $nrows = mysql_num_rows($insertIDResult);
> $rows = mysql_fetch_row($insertIDResult);
> $uniqueFilenameResult = $rows[0].$filename;
> }
> }

You can use str_pad() to fill it back out.

$insertIDResult = mysql_query("SELECT LAST_INSERT_ID()");
$insertIDResult = str_pad($insertIDResult, N, "0", STR_PAD_LEFT);

Where N is the desired length of the string.

--
Kelsey Sigurdur