将 PHP 中随机生成的随机 id 转换为 mssql 中的唯一标识符



我必须在php中使用uniqid()生成自动会话ID,但我必须将其存储在MSSQL数据库中。

<?php
//set the random id length 
$random_id_length = 10; 
//generate a random id encrypt it and store it in $rnd_id 
$rnd_id = crypt(uniqid(rand(),1)); 
//to remove any slashes that might have come 
$rnd_id = strip_tags(stripslashes($rnd_id)); 
//Removing any . or / and reversing the string 
$rnd_id = str_replace(".","",$rnd_id); 
$rnd_id = strrev(str_replace("/","",$rnd_id)); 
//finally I take the first 10 characters from the $rnd_id 
$rnd_id = substr($rnd_id,0,$random_id_length); 
echo "Random Id: $rnd_id" ;
echo "<br>";
?>

这是现在的代码,我希望这个 $rnd_id 成为唯一标识符类型并将其存储到 mssql 数据库中

不要这样做。最好让 MSSQL 分配一个唯一的 ID,并在保存表行后获取此 ID。通过这种方式,您可以确保您的 id 确实是唯一的(在 db 范围内)。

$qry = mssql_query("INSERT INTO tbl(...) VALUES(...) SELECT LAST_INSERT_ID=@@IDENTITY");
$res = mssql_fetch_assoc($qry);

$res['LAST_INSERT_ID']将保存最后一个插入 ID。

最新更新