尝试将数组插入数据库而不重复

时间:2018-08-21 07:47:26

标签: php html mysqli

我的英语不是最好的,所以如果感到困惑我会尽力道歉。无论如何,我正在制作一个每个人都被分配了角色的游戏。我遇到的问题是每次它插入数据库时​​都会出现重复的名字但是在array []上却是数字。

<?php
include_once('database.php');
$roles = array('cop','cop','robber','robber','gangster','gangster');
$array = array();
$sql = mysqli_query($db,"SELECT * FROM `account`");
$i=0;
while ($row = mysqli_fetch_assoc($sql)) {
    $array[] = $row;
}

shuffle($roles);
for ($i=0; $i < count($array); $i++) {
    $realrole = $roles[$i];
    $name = $array[$i]['name'];
    echo("   ".$realrole);
    $sq = "UPDATE account SET role = '$realrole' WHERE name = '$name'";

}
mysqli_query($db,$sq);

我为此花了很长时间,但我仍然很新,希望这有意义,谢谢

1 个答案:

答案 0 :(得分:0)

我认为这应该可以解决您的问题

<?php

include_once('database.php');
$roles = array('cop','cop','robber','robber','gangster','gangster');
$array = array();

shuffle($roles);

$sql = mysqli_query($db,"SELECT * FROM `account`");
while ($row = mysqli_fetch_assoc($sql)) {
    $array[] = $row;
}

$i=0;
for ($i=0; $i < count($array); $i++) {
    $realrole = $roles[$i];
    $name = $array[$i]['name'];
    echo("   ".$realrole);
    $sq = "UPDATE account SET role = '".$realrole."' WHERE name = '".$name."'";
    mysqli_query($db,$sq);
}