0

複数のエントリを MySQL innodb に挿入しようとしたときに、次の問題が発生しました。

最初の挿入のみがデータベースに保存されます。(ただし、正しく保存されています)

データベースデータは正しい、ポストデータは正しい、すべてがテストされ、whileループはテストで正しくカウントされます(挿入なし)

つまり、 $r = 7 $s = 3 は正しい 21 スロットを与えます。

$l = $_POST['Lager'];
$r = $_POST['Reihe'];
$p = $_POST['platz'];
$s = $_POST['slots'];
$a = $_POST['art'];

echo( "test: " . $_POST['Lager'] . $_POST['Reihe'] . $_POST['platz'] . $_POST['slots'] . $_POST['art'] );

$i=0;
$n=0;
$counter =0;

while($i < $p)
{
$platz =("
 INSERT INTO 
    Lager (LagerNr,ReiheNr,PlatzNr,SlotNr,LagerArt,Stock)
 VALUES ('". $l ."','" . $r  . "','" . $i . "','". $n ."','" . $a . "','0')");
 mysql_query($platz);
 echo ($platz);

    // anzahl slots = $s
    while($n < $s)
    {

    $slot("
     INSERT INTO 
        Lager (LagerNr,ReiheNr,PlatzNr,SlotNr,LagerArt,Stock)
     VALUES ('". $l ."','" . $r  . "','" . $i . "','". $n ."','" . $a . "','0')");
     mysql_query($slot) OR print(mysql_error());

    $n++;
    $counter++;
    echo($slot);
    }
    $n = 0;
$i++;   
}
  echo ("\n" . $counter . " Slots erstellt");

mysql_close();

4

3 に答える 3

2

私はあなたが何をしようとしているのか、何が機能していないのかを正確に理解していませんが、これは:

$slot("
 INSERT INTO 
    Lager (LagerNr,ReiheNr,PlatzNr,SlotNr,LagerArt,Stock)
 VALUES ('". $l ."','" . $r  . "','" . $i . "','". $n ."','" . $a . "','0')");

'='が欠落しているようです。

于 2012-04-11T11:09:28.200 に答える
1
 $slot("
 INSERT INTO 
    Lager (LagerNr,ReiheNr,PlatzNr,SlotNr,LagerArt,Stock)
 VALUES ('". $l ."','" . $r  . "','" . $i . "','". $n ."','" . $a . "','0')");
 mysql_query($slot) OR print(mysql_error());

次のようにする必要があります。

 $slot = 
 ("INSERT INTO 
    Lager (LagerNr,ReiheNr,PlatzNr,SlotNr,LagerArt,Stock)
 VALUES ('". $l ."','" . $r  . "','" . $i . "','". $n ."','" . $a . "','0')");
 mysql_query($slot) OR print(mysql_error());
于 2012-04-11T11:13:25.557 に答える
0

$slotの後に"="はありませんが、$platzにはあります。

于 2012-04-11T11:12:09.667 に答える