gpt4 book ai didi

php - 如何生成随机id

转载 作者:太空宇宙 更新时间:2023-11-03 12:18:30 25 4
gpt4 key购买 nike

我想知道如何为任意数字的照片 ID 生成一个随机数,并为任意数字的用户 ID 生成一个随机数,例如:

num = 照片编号idr = 用户id

yourphoto.php?num=60&idr=3

现在我想做的是生成一些东西,不会告诉用户照片的 ID 号是多少,或者用户 ID 是随机的。

像那样:

yourphoto.php?num=654654654648&idr=34546545621

最佳答案

检查 uniqid ,它将满足您的需求。

有点伪代码(与注释相关)



//插入数据库
$new_photo = 数组(
array('id' => 1, 'name' => 'newphoto', 'unique' => uniqid()),
array('id' => 2, 'name' => 'newphoto2', 'unique' => uniqid())
);

//从数据库中选择所有内容
$photos = $new_photo;

//显示照片
foreach($photos 作为 $photo){
//显示链接 $photo['unique'], var_dump($照片);
}


//获取数
//选择 unique = $_GET['num']

既然我猜你真的不明白,我会做一个好人并向你展示它是如何工作的。请务必记住,这只是一个不适合生产的示例。

创建 2 个 PHP 文件,test.php 和 test2.php

测试.php

运行一次,它将创建一个名为 photos_temp 的新表,并插入 2 张照片。



//数据库信息
$host = "本地主机";
$用户名 = "root";
$password = "密码";
$dbname = "数据库";


//创建我们的 photos_temp 表
$test_query = "创建表,如果不存在`photos_temp` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`unique` varchar(255) NOT NULL,
主键(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;";

//连接到数据库
$conn = new mysqli($host, $username, $password, $dbname);

//创建表
$table = $conn->prepare($test_query);
$表->执行();

//要插入数据库的数据(您可以通过表单插入)
$new_photos = 数组(
array('name' => 'newphoto', 'unique' => uniqid()),
array('name' => 'newphoto2', 'unique' => uniqid())
);

//插入查询模板
$addquery = "INSERT INTO `photos_temp` (`name`, `unique`) VALUES (?, ?)";

//foreach 我们的数据(我们将插入 2 张照片)
foreach($new_photos 作为 $photo){
如果($query = $conn->准备($addquery)){
$query->bind_param('ss', $photo['name'], $photo['unique']);
$查询->执行();
}

}

echo '插入完成';

test2.php

这将显示照片并链接到您的独特照片。



//数据库信息
$host = "本地主机";
$用户名 = "root";
$password = "密码";
$dbname = "数据库";


$conn = new mysqli($host, $username, $password, $dbname);
$stmt = $conn->stmt_init();
$stmt->prepare('从 photos_temp 中选择 *');
$stmt->执行();


$result = $stmt->get_result();
while ($data = $result->fetch_assoc())
{
echo ''.$data['name'].'
';
}

如果(isset($_GET['num'])){
$num = $_GET['num'];

$stmt->prepare("SELECT * FROM `photos_temp` WHERE `unique` = ?");
$stmt->bind_param("s", $num);
$stmt->执行();

$result = $stmt->get_result();

$photo = $result->fetch_assoc();

echo '
';
打印_r($照片);
}

关于php - 如何生成随机id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21097289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com