2014-01-06 59 views
0

如何在數據庫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.","; 
      } 
?> 

回答

1

它與插入非隨機值有什麼不同?

mysqli_query($link, "INSERT INTO yourtable (id, cards) VALUES (NULL, '$cards')"); 

或類似的東西。

+0

不工作,當我用你的代碼,它會被插入僅第一數到MySQL(不是所有數據) – user3141230

0

做你的描述會是怎樣作爲@馬丁回答最簡單的方法。

但是,這可能會在稍後造成困擾。理想情況下,您不希望在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)); 
     } 

OR

錯誤的方式做到這一點,但你似乎想要的是:

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

然後你這樣做,如果P DO:

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

或此,如果mysqli的:

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

我想打一個表如 ID,編號爲 的數字列中我想插入5,3,1,6,4, 我該怎麼辦? 「 – user3141230

+0

」ID,號碼欄中的號碼「不清楚。 –

+0

這是什麼意思「」「不清楚」「」? – user3141230