【问题标题】:storing random numbers in database in php?在php中的数据库中存储随机数?
【发布时间】:2015-05-18 23:36:51
【问题描述】:

我有一些代码可以生成随机数,例如一些折扣券代码。每次生成新代码列表时,我都希望将其保存在数据库中,每次生成新列表时,我都希望将其保存在数据库中。

 <?php
 $db=new mysqli('localhost','root','','shop');
     if(mysqli_connect_errno()){
        echo 'Could not connect to database:Plz try After Some time..';
        exit;
        }

$coupons = 8; //number of coupons
$size = 10; //number of characters
for ($i=0; $i<$coupons; $i++) {
    $code=

   echo strtoupper(substr(md5(time().rand(10000,99999)), 0, $size));
   echo "<br>\n";

   $qry="insert into code (code) values ('$coupons')";
   $result=$db->query($qry);

} 

【问题讨论】:

  • 这实际上是您使用的代码吗? $code= 应该会给你一个解析错误。
  • 这是一个错误我很抱歉
  • 这应该会破坏脚本,因为您没有值或结束分号。将 INSERT INTO 更改为 INSERT INTO code SET field = $value。另外,您要存储随机数,而不是 $coupons,它只会插入 8,您要存储随机数。将 strtoupper 部分放入变量中,然后在 INSERT 语句中使用它。
  • 你能详细解释一下吗...

标签: php database


【解决方案1】:

我假设此代码没有为您运行 - 请尝试以下我进行了一些更改的地方:

$coupons = 8; //number of coupons
$size = 10; //number of characters
for ($i=0; $i<$coupons; $i++) {
   // Note that time() is not a very good random generator...
   $code= strtoupper(substr(md5(time().rand(10000,99999)), 0, $size));
   $qry="insert into code (code) values ('$code')";
   $result=$db->query($qry);
} 

【讨论】:

  • 但我怀疑浏览器上的左值与存储在数据库中的值不同,你能解释一下原因吗..
  • 由于我的代码(上图)在浏览器中没有显示任何内容,所以我很难回答这个问题......
  • $result=$db-&gt;query($qry); echo $code; @AnmolSinghRaghuvanshi - 生成的代码将匹配您数据库中输入的内容。
猜你喜欢
  • 1970-01-01
  • 2020-01-26
  • 2017-11-20
  • 1970-01-01
  • 2019-02-13
  • 1970-01-01
  • 2021-08-15
  • 2010-12-19
  • 1970-01-01
相关资源
最近更新 更多