[英]how to insert random value in to database mysql?
如何在数据库mysql中插入随机值?
好的,当我加载此代码时,我将具有这样的随机数格式
5,3,1,6,4,
我想将5,3,1,6,4插入数据库mysql(1行1列)中,我该怎么办?
<?
$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')");
或类似的东西。
做您描述的最简单的方法是@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')");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.