循环在PHP中过早退出

时间:2014-12-18 11:56:21

标签: php

我想创建一个循环来在执行时插入多个记录。打算轻松创建一个完整的数据库用于测试目的。下面是我写的循环,但问题是循环退出过早停止在30左右。

$i = 0;
$numberOfRecords = 100;
$uploadedBy = "guest";
$uploadedWhen = date("Ymd");
$picture = "image";
$alt = "lorum ipsum";
$additionalInfo = "hello world";

set_time_limit(0);
while($i <= $numberOfRecords){
    $varName = 'guest'.$i;
    mysql_query("INSERT INTO images(id, uploadedBy, uploadedWhen, picture, alt, additionalInfo) 
        VALUES ('$i', '$varName', '$uploadedWhen', 'pictures/$picture', '$alt', '$additionalInfo')")        OR DIE("something died");
    echo $i;
    $i++;
}

所以问题归结为,为什么我的代码以30-40行退出(目前代码在每次刷新时都会向循环添加2次迭代)?
感谢您的回复。
注意:我知道我不应该使用mysql_query,但这只是一个草率的草稿,在循环问题解决后会经过一些微调^^

编辑:澄清;代码运行几次迭代,然后跳转到OR DIE语句 EDIT2:删除OR DIE语句解决了循环问题,但有趣的是记录42的$ i值为0;如果有人愿意解释我会很感激。

1 个答案:

答案 0 :(得分:0)

  1. 在表
  2. 中使用id作为整数类型

    $ query = sprintf(&#34; INSERT INTO test.images(id,uploadedBy,uploadedWhen,picture,alt,additionalInfo)VALUES(&#39;%s&#39;,&#39;%s&#39 ;,&#39;%s&#39;,&#39;%s&#39;,&#39;%s&#39;,&#39;%s&#39;)&#34;,$ i, $ varName,$ uploadedWhen,&#39; pictures /&#39;。$ picture,$ alt,$ additionalInfo); $ result = mysql_query($ query)或die(&#34; die&#34;);

    1. 使用id作为varchar
    2. 您可以使用原始代码。