php - 使用 PHP 将数组发送到 MySql

标签 php mysql sql arrays

目前,我有一个 PHP 程序,可以从 Web URL 中获取文本数据并将其保存为数组。这是代码:

$handler = fopen('URL', 'r');

if ($handler){
    while (!feof($handler)){
        $line[] = fgets($handler);
    }
    fclose($handler);    
 }

以下是打印时数组的几行内容:

9,632,1,44,Xi1esF8,28446,26377421,DK,C,0,0,0,1,0                              
9,632,2,320,i am,34977,24706164,EvOsso,C,0,0,0,1,0                               
9,632,3,352,Darwins Immaculate Selection,17357,23463949,MONSTERS,D,0,0,0,1,0  

每一行都是 $line[0]、$line[1]、$line[2] 等的数组

我想将其放入MySQL中,以便每个“,”后面的每条数据都是一个新列,每个新行都是MySQL中的一个新行。因此 MySQL DB 有 14 列,行数与文件中的数据一样多。

我不确定如何编写 php 代码来连接到 MySQL 数据库,并根据“,”分隔符和每个数组($line[0]、$line[1]、$line[2] 输入每一列]) 是 MySQL 中的一个新行。

预先感谢您的帮助!

最佳答案

您可以轻松地内爆和爆炸,最后使用 for 循环将用逗号分隔的每个数据作为不同的行存储到数据库中。

首先,您需要将数组值放入字符串中:

  $conn=mysql_connect("host_name","user_name","password") or error("Could not connect: ".mysql_error());
  mysql_select_db("db_name");

  $array=array("something","something","something");//this is the array you have.
  $string=implode(",",$array); // you need to implode array and store that as string.

现在您需要再次用逗号分解 $string,将它们放入 for 循环中以存储到数据库中。

  $str=explode(',',$string);

现在您只需使用 for 循环进行查询即可。

  foreach($str as $strs)
  {
  $query = "INSERT INTO table_names(id, column_name)
               VALUES
               ('', '".$strs."')";
  mysql_query($query,$conn); 

  }

关于php - 使用 PHP 将数组发送到 MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24719697/

相关文章:

mysql - 如何在mysql中执行外连接

php - 如何获得给定数据库的另一个根

php - 发送 GET 请求

php - 具有依赖项计数的 Laravel 查询生成器

mysql - Joomla 1到Joomla 3.复制DB内容(仅DB中的xxxxx_content表)

java - 使用左连接在 postgres 数据库中进行 SQL 查询

mysql - 在一个查询中插入多个表

php - 如何解决 php 5.5 yii 框架中的非静态方法

php - 有没有地方可以在一个地方获取 laravel `vendor` 文件夹?

mysql - SQL:将两列相加为 'Name' 并在 where 中使用该名称