我怎么得到这个语法?真的有问题。。。

for( $i = 1; $i <= $count; $i++ )
{
    $typeofunit = $_POST['typeofunit'.$i];}
    $sql="INSERT INTO equips (typeofunit)
    VALUES
    ('$_POST[typeofunit]')"; **??** ('$_POST[$typeofunit]')"; **???**
}

最佳答案

INSERT语句放在循环之外,因为只需要一次。然后在每个循环迭代期间追加到它。最后,从查询中删除会导致语法错误的最后一个逗号。

$sql="INSERT INTO equips (typeofunit) VALUES";
for( $i = 1; $i <= $count; $i++ )
{
    $typeofunit = $_POST['typeofunit'.$i];}
    $sql .= "('" . mysql_real_escape_string($_POST['typeofunit'.$i]) . "'),";
}
$sql = rtrim($sql, ',');

您会注意到我也转义了POST变量。必须这样做才能防止SQL注入。在一个理想的世界里,你会转向更安全的准备好的陈述。

09-25 18:00