1

如何将其插入数据库?

我有这个文件:

[player_id] => 70658
[mobile_number] => 09********
[name] => gorbani
[password] => ******
[verification_code] => KUTY6U
[subscription] => 0
[gold] => 147350
[date_joined] => 2011-04-26 20:02:40
[free_spin] => 0
[player_status] => 1
[scriptedSpin] => PLG
[message_flag] => N
[gold_award] => 0

这只是一个文本文件中 300,000 个或更多条目中的 1 个条目。我需要自动插入ff。进入一个mysql db,其中只有

mobile_number
name
password
gold

将被取出并插入。

谢谢你。

问候, Mehihi

这就是文件的格式:

[player_id] => 70658
[mobile_number] => 09********
[name] => gorbani
[password] => ******
[verification_code] => KUTY6U
[subscription] => 0
[gold] => 147350
[date_joined] => 2011-04-26 20:02:40
[free_spin] => 0
[player_status] => 1
[scriptedSpin] => PLG
[message_flag] => N
[gold_award] => 0

[player_id] => 70659
[mobile_number] => 09********
[name] => gorbani2
[password] => ******
[verification_code] => 22222
[subscription] => 0
[gold] => 147350
[date_joined] => 2011-04-26 20:02:40
[free_spin] => 0
[player_status] => 1
[scriptedSpin] => PLG
[message_flag] => N
[gold_award] => 0

等等..

我试过这个但没有用:

$sql = array(); 
foreach( $myarray as $row ) {
$sql[] = '('.$row['ID'].', "'.mysql_real_escape_string($row['NAME']).'","'.$row['PRICE'].'")';}
mysql_real_query('INSERT INTO table (ID, NAME,PRICE) VALUES '.implode(',', $sql));
4

1 回答 1

1

当您将拥有关联数组时,请执行以下操作:

首先准备一个 SQL 查询。

$sql = "INSERT INTO ".$table." ("; 
for ($i=0; $i<count($arr); $i++)
{ 
  $sql .= key($arr); 
  if ($i < (count($arr)-1))
  { 
    $sql .= ", "; 
  } else $sql .= ") "; 
  next($arr); 
} 
reset($arr); 
$sql .= "VALUES ("; 
for ($j=0; $j<count($arr); $j++)
{ 
  $sql .= "'".current($arr)."'"; 
  if ($j < (count($arr)-1))
  { 
    $sql .= ", "; 
  } else $sql .= ") "; 
  next($arr); 
}

现在,由于您将 SQL 查询存储在 $sql 中,您只需在首选方法中执行查询。

注意: mysql_query 已被弃用,您应该使用 PDO 或其他东西。

于 2012-10-25T14:07:17.747 回答