【问题标题】:PHP insert generated arrays to MySQL database [duplicate]PHP将生成的数组插入MySQL数据库[重复]
【发布时间】:2016-01-22 09:35:52
【问题描述】:

假设我有 5 个这样生成的数组:

$MyArr = array();
    for($i = 0; $i < 15; $i++){
        $data[] = array(
        'title'        => 'Title',
        'description'        => 'Description',
        'created_on'    => 'Time'
        );
    }

如何将生成的数组的每次迭代插入我的MySQL 数据库

UPD。我正在使用mysqli_connect(); 函数连接到我的数据库(我已经按照 W3Schools 网站上的教程(程序)。

【问题讨论】:

  • 取决于你的数据库连接 - PDO、mysqli、mysql、一些框架?
  • 我已经更新了问题。我正在使用this 教程来设置连接。

标签: php mysql arrays


【解决方案1】:

你可以像这样遍历你的数据数组:

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$yourData = array();
for($i = 0; $i < 5; $i++){
    $yourData[] = array(
    'title'        => md5(rand()),
    'description'        => rand(0, 1)?'active':'banned',
    'created_on'    => rand(0, 1)?'now':'2014/12/31 14:51:52'
    );
}

for($j = 0; $j < count($yourData); $j++) {
    $title = $yourData[$j]["title"];
    $description = $yourData[$j]["description"];
    $created_on = $yourData[$j]["created_on"];
    $sql = "INSERT INTO yourTable (title,description,created_on) VALUES ($title, $description, $created_on)";
    if (mysqli_query($conn, $sql)) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . mysqli_error($conn);
    }
    mysqli_close($conn);
}

【讨论】:

  • 非常感谢!这对我帮助很大!
  • 工作就像一个魅力。
  • 那是个坏主意,当你只需要一次的时候运行 insert 5 次
  • 还有 2 个循环不好,你关闭循环中的连接,所以它只会插入一行
  • 实际上,是的,我已经在您的代码中实现了一些修复,但是先生。 zachu 给了我正确的想法。
猜你喜欢
  • 2019-12-05
  • 1970-01-01
  • 2016-05-26
  • 2014-12-02
  • 1970-01-01
  • 2013-11-30
  • 2011-12-06
  • 2012-04-20
相关资源
最近更新 更多