php - 读取 urls-csv 并将它们插入到 mysql 中

标签 php mysql

我必须创建一个 php 脚本来读取 url 列表并将它们插入到 mysql 数据库中。 问题是它只插入第一行然后停止。

<?php
	$conn=mysql_connect("my_servername","my_username","my_password") or die (mysql_error());	
	mysql_select_db("my_dbname") or die (mysql_error());	

	$url = array("url1.csv",
				"url2.csv",	
				"url3.csv",	
				.
				.	
				.	
				"url15.csv",	
				);	

	for ($i=0; $i<15; $i++) 
	{	
		$url_go = file_get_contents($url[$i]);
			
		$z = array_filter(explode("\x0A",$url_go[$i]));
			
	
		$counter=0;
	foreach($z as $k=>$v)
	{
		if($metr>2)
		{
		$y=( (explode(';',rtrim($v,";"))) );
		$sql = 'INSERT INTO `mysql_table_name` (name_of_column_1,name_of_column_2, name_of_column_3, name_of_column_4, name_of_column_5, name_of_column_6,name_of_column_7,name_of_column_8,name_of_column_9,name_of_column_10,name_of_column_11,name_of_column_12,name_of_column_13, name_of_column_14,name_of_column_15, name_of_column_16)
			VALUES ('.$y[0].', '.$y[1].', '.$y[2].', '.$y[3].', '.$y[4].', '.$y[5].', '.$y[6].', '.$y[7].', '.$y[8].', '.$y[9].', '.$y[10].', '.$y[11].', '.$y[12].', '.$y[13].', '.$y[14].' , '.$y[15].')';
		}
		$counter++;
	}  
	}
	$result=mysql_query($sql) or die('Query failed:' . mysql_error());
	mysql_close($conn);
?>

数据库已使用navicat创建。 url 是 csv 类型。就像一个与我的数据库列具有相同列的表,但我不想插入 csv-url 的前 3 行

最佳答案

您的查询执行需要在第二个 for 循环内,因为 $sql 变量不断被覆盖并且仅执行 1 次。

$sql = 'INSERT INTO `mysql_table_name` (name_of_column_1,name_of_column_2, name_of_column_3, name_of_column_4, name_of_column_5, name_of_column_6,name_of_column_7,name_of_column_8,name_of_column_9,name_of_column_10,name_of_column_11,name_of_column_12,name_of_column_13, name_of_column_14,name_of_column_15, name_of_column_16)
        VALUES ('.$y[0].', '.$y[1].', '.$y[2].', '.$y[3].', '.$y[4].', '.$y[5].', '.$y[6].', '.$y[7].', '.$y[8].', '.$y[9].', '.$y[10].', '.$y[11].', '.$y[12].', '.$y[13].', '.$y[14].' , '.$y[15].')';

mysql_query($sql) or die('Query failed:' . mysql_error()); 

关于php - 读取 urls-csv 并将它们插入到 mysql 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27322728/

相关文章:

php - 如何在一个查询中更新两个表?

mysql - 不在同一服务器上的复制查询中重命名数据库

mysql - 带有 MySQL 的 Entity Framework

php - MYSQL 中 MSSQL 的 STUFF 和 XML PATH 的等价物

PHP CS Fixer File Watcher 导致 PHPStorm 中的文件缓存冲突

php - 基于值构建嵌套数组

php - 使用 htaccess 到 "fake"XML 文件?

mysql - 在mysql中插入大量数据

php - 选择框更改弹出确认框

php - preg_replace 使用模式作为替换数据数组的索引