Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在数据库mysql中插入随机值?_Php_Mysql_Arrays_Random - Fatal编程技术网

Php 如何在数据库mysql中插入随机值?

Php 如何在数据库mysql中插入随机值?,php,mysql,arrays,random,Php,Mysql,Arrays,Random,如何在数据库mysql中插入随机值 好的,当我加载这段代码时,我会使用这样的随机数格式 5,3,1,6,4 我想在数据库mysql(1行1列)中插入5,3,1,6,4,我该怎么做 <? $cards = array(); for ($i = 0; $i < 5; $i++) { $card = mt_rand(1, 6); if(!in_array($card, $cards))

如何在数据库mysql中插入随机值

好的,当我加载这段代码时,我会使用这样的随机数格式

5,3,1,6,4

我想在数据库mysql(1行1列)中插入5,3,1,6,4,我该怎么做

<?
    $cards = array();
    for ($i = 0; $i < 5; $i++) 
            {
            $card = mt_rand(1, 6); 
            if(!in_array($card, $cards))
                    {
                $cards[$i] = $card;
            }
                else
                    {
            $i--;
            }
            } 
        foreach ($cards as $cards) 
            { 
        echo $cards.","; 
            }
?>

它与插入非随机值有何不同

mysqli_query($link, "INSERT INTO yourtable (id, cards) VALUES (NULL, '$cards')");
或者类似的东西。

纯(我的)SQL解决方案:

INSERT INTO test( x, y )
SELECT 10*rand(),
       10*rand()
FROM information_schema.columns
LIMIT 10;

演示:

完成您描述的任务的最简单方法是@Martin回答

然而,这可能会在以后把你搞砸。理想情况下,您不希望在RDBMS字段中存储列表;它破坏了建立数据库的全部目的

如果你做一张像这样的桌子

ID, cardPosition, cardID
您可以这样做:

$insert = $db->prepare("INSERT INTO cardpositions (cardPosition, cardID) VALUES (:cardPosition, :cardID)");
foreach ($cards as $cardPosition=>$card) 
        { 

    $insert->execute(array(':cardPosition' => $cardPosition, ':cardID' => $card));
        }

这样做是错误的,但你似乎想要的是:

$cardlist = implode(",",$cards);  //now you have a comma separated list without the trailing comma
如果PDO:

$insert = $db->prepare("INSERT INTO cardpositions (cardlist) VALUES (:cardlist)");
$insert->execute(array(':cardlist' => $cardlist));
如果mysqli:

mysqli_query($link, "INSERT INTO yourtable (cardlist) VALUES ('$cardlist')");

不工作,当我使用你的代码时,它将只在mysql中插入第一个数字(不是所有的数据)我想做一个像ID一样的表,数字列中的数字我想插入5,3,1,6,4,我该怎么做?这意味着我不知道你在说什么:把表定义放在问题中。好的,我将创建一个有2列1.ID和2的表。号码,我想在上面答案中的第5,3,1,6,4栏中插入你称之为“号码”的数字,我称之为“卡片列表”。看看。。。cardlist是一个比number更好的名称,因为它描述了字段中的实际内容。