php,mysql,使用循环插入数据

问题描述 投票:0回答:1

我收到了必须存储到数据库中的API数据。我必须使用循环,因为我不知道客户将放入篮子的物品数量。有关更多信息,请查看我的示例示例。取决于循环我设法只存储第一个或最后一个项目......任何帮助,将不胜感激。

<?php

$data = array
  (
  array("Item1"),
  array("Item2"),
  array("Item3"),
  array("Item4"),

  );

$count = count($data);    

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);


$x = 0;
while($x <= $count-1) {
    $mytest = $data[$x][0];
echo $mytest;
$sql = "INSERT INTO test (mytest)
VALUES ('$mytest')";


  $x++;
}

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
php mysql
1个回答
0
投票

foreach循环总是比迭代数组时更好。

foreach构造提供了一种迭代数组的简单方法。 foreach仅适用于数组和对象,并且当您尝试在具有不同数据类型或未初始化变量的变量上使用它时将发出错误。有两种语法:

foreach (array_expression as $value)
    statement

foreach (array_expression as $key => $value)
    statement

解决您的问题:

foreach($data as $val) {
    echo $val;
    $sql = "INSERT INTO test (mytest) VALUES ('$mytest')"; 
    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.