为了账号安全,请及时绑定邮箱和手机立即绑定

PHP uniqid 在 while 循环的每次迭代中重复

PHP uniqid 在 while 循环的每次迭代中重复

PHP
ibeautiful 2023-10-21 10:13:22
我正在尝试使用 while 循环使用唯一标识符填充 mysql 数据库中的列,但 uniqid 一遍又一遍地重复相同的输出。这是我的代码:$dblink = mysqli_connect($host,$dbu,$dbp);$dblink->set_charset("utf8");$seldb = mysqli_select_db($dblink, $db);  $dblink = new mysqli($host, $dbu, $dbp, $db);    $result = $dblink->query(" SELECT * FROM `mytable` ");    while ($row = $result->fetch_assoc())  {        $uniquecode = uniqid();        $sql = mysqli_query($dblink,"UPDATE `mytable` SET `code`='$uniquecode' ");    }我究竟做错了什么?
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

您在每次迭代中更新每条记录,因为您UPDATE缺少WHERE子句。

通常你会这样键入:

UPDATE ... SET code=? WHERE id=?

它将其锁定为仅匹配的行id或任何调用您的 ID 列的地方。

注意:SELECT *除非您确实需要所有这些列,否则您应该避免使用。这里不需要,您只需要 ID,所以只需选择它即可。


查看完整回答
反对 回复 2023-10-21
  • 1 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信