Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数据库中插入15行相同的数据_Php_Mysql_Mysqli - Fatal编程技术网

Php 在数据库中插入15行相同的数据

Php 在数据库中插入15行相同的数据,php,mysql,mysqli,Php,Mysql,Mysqli,我有15行相同的数据要重复插入,有没有办法处理它而不是重复15个单独的查询 我当前的1行代码如下所示 $FirstName1=mysqli_real_escape_string($con,$_POST['FirstName1']); $Surname1=mysqli_real_escape_string($con,$_POST['Surname1']); $Position1=mysqli_real_escape_string($con,$_POST['Position1']); $Value1

我有15行相同的数据要重复插入,有没有办法处理它而不是重复15个单独的查询

我当前的1行代码如下所示

$FirstName1=mysqli_real_escape_string($con,$_POST['FirstName1']);
$Surname1=mysqli_real_escape_string($con,$_POST['Surname1']);
$Position1=mysqli_real_escape_string($con,$_POST['Position1']);
$Value1=mysqli_real_escape_string($con,$_POST['Value1']);

mysqli_query($link,"INSERT INTO Players (FirstName, Surname, Position, Value) VALUES ('$FirstName1', '$Surname1', '$Position1', '$Value1')") or die(mysqli_error($link));
有没有办法运行一个
foreach
,首先检查数据是否存在,然后循环并运行insert?每个字段的数字,例如“FirstName1”将在1-15之间运行。

使用while循环:

<?php
$x = 1;

while($x <= 15) {
    mysqli_query($link,"INSERT INTO Players (FirstName, Surname, Position, Value) VALUES ('$FirstName1', '$Surname1', '$Position1', '$Value1')") or die(mysqli_error($link));
    $x++;
}
?>

您可以按如下方式使用

    $message = "";    
    for($i=1;$i<=15;$i++){

            $nameElemenet = "FirstName".$i;
            $FirstName = mysqli_real_escape_string($con,$_POST[$nameElemenet]);

            $surNameElemenet = "Surname".$i;
            $Surname = mysqli_real_escape_string($con,$_POST[$surNameElemenet]);

            $positionElemenet = "Position".$i;
            $Position = mysqli_real_escape_string($con,$_POST[$positionElemenet]);

            $valueElemenet = "Value".$i;
            $Value = mysqli_real_escape_string($con,$_POST[$valueElemenet]);

            if($nameElemenet !="" && $Surname !="" && $positionElemenet !="" && $Value !="" ){
                mysqli_query($link,"INSERT INTO Players (FirstName, Surname, Position, Value) VALUES ('$FirstName', '$Surname', '$Position', '$Value')") or die(mysqli_error($link));
            }else{
                $message .= "All filed values are required.";
            }
        }
$message=”“;

对于($i=1;$iUse可以通过多种方式完成,或者将输入设置为分组数组
@MKhalidJunaid我还需要手动转义每个字段吗?@Ghost谢谢,但我不完全理解。我有足够的能力引入单个值并插入它们,但我从来没有真正进行过大的插入,也没有真正进行过y了解如何实现您的建议。如果我要将例如FirstName1、姓氏1等分组到name=“Row1[]”然后我如何在foreach中插入所有数据?如果这听起来很愚蠢,请道歉!@BN83许多答案也取决于表单的构造方式。顺便说一句,如果真的想插入15行重复的行?如果你不介意将同一查询循环15次,那么只需使用for或while循环。如果你要插入15个不同的值,你需要一个其他方法这很完美,谢谢。