将 PHP 数组插入到 MySQL 中

5

我有一个数组 $product_array,当我使用 print_r($product_array); 时,数组显示如下

Array
(
    [0] => Array
        (
            [ID] => P00100
            [NAME] => Edina
            [PRICE] => $20.00
        )

    [1] => Array
        (
            [ID] => P00101
            [NAME] => Richfield
            [PRICE] => $21.00
        )

    [2] => Array
        (
            [ID] => P00102
            [NAME] => Bloomington
            [PRICE] => $22.00
        )
)

我将我的数据库表设置为4列,第一列是主ID,它是自动增加的,接下来是ID、名称和价格,如上所示。我想将这个数组$product_array插入到MySQL中。有人能帮忙吗?非常感谢!谢谢。

2个回答

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

查看更多细节:

通过PHP数组将多个行插入MySQL


1
将代码中第一个 $row['PRICE'] 更正为 $row['ID'],并获得一枚赞作为奖励 ;) - teemitzitrone
1
@HaimEvgi Haim,我认为你应该更改 mysql_real_query 函数,因为它在php中不再可用。 - Oğuz Çelikdemir

0
你可以尝试这段代码(快速且不太规范):
foreach($product_array as $v) {
  $query = 'insert into tablename values (null, \'' . $v['id'] . '\', \'' . $v['name'] . '\', ' . $v['price'] . ');'
  mysql_query($query);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接