如何将数据从多个数组插入数据库PHP& MYSQL?
我创建了一个表名是student。 ID,姓名和性别有3个字段。
示例:数组([0] => 1,Jam,M [1] => 2,Janny,F [2] => 3,Vary)。
表学生有3个字段ID,NAME,SEX。
如何在表学生中插入多个数组?
答案 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);
}
我注意到你的第三个元素不包含性别,所以你应该检查它是否有效。