如何将数据从多个数组插入数据库PHP?

时间:2011-09-03 04:18:42

标签: php

如何将数据从多个数组插入数据库PHP& MYSQL?

我创建了一个表名是student。 ID,姓名和性别有3个字段。

示例:数组([0] => 1,Jam,M [1] => 2,Janny,F [2] => 3,Vary)。

表学生有3个字段ID,NAME,SEX。

如何在表学生中插入多个数组?

3 个答案:

答案 0 :(得分:1)

不要考虑数据库插入,而是考虑字符串 PHP是一种字符串操作语言 您只需要编写一些格式的字符串。因此,首先,您必须写下所需字符串的示例,即INSERT SQL查询 然后使用PHP使用一些PHP代码组装这样的字符串。

答案 1 :(得分:0)

$arr = Array ("1,Jam,M","2,Janny,F" ,"3,Vary,M" );

$VALUES = array();
foreach ($arr as $data)
  $VALUES[] = '('.implode(',',array_map("escape", explode(',', $data))).')';  

$query = 'INSERT INTO STUDENTS_TABLE (`id`, `name`, `sex`) VALUES '.implode(',', $VALUES);
mysql_query($query, $db_con);

function escape($str)
{
  //escaping  here . For example
  global $db_con; 
  return '"'.mysql_real_escape_string($str, $db_con).'"';
}

这只是一个例子,但我建议你使用多插入。

答案 2 :(得分:-1)

你应该尝试做一个foreach循环,如下所示:

<?php
$arr = Array ( [0] => "1,Jam,M" [1] => "2,Janny,F" [2] => "3,Vary" );
foreach($arr AS $item)
{
    $parts = explode(",", $item);
    $q = sprintf("INSERT INTO students (id, name, sex) VALUES ('%s', '%s', '%s')", $parts[0], $parts[1], $parts[2]);
    // now execute the query into your database - like
    mysql_query($q);
}

我注意到你的第三个元素不包含性别,所以你应该检查它是否有效。