2016-07-28 10 views
-1

これに関連する質問がたくさんあることは知っていますが、エラーの解決策を見つけることができないようです。PHPを使用してMYSQLにCSVを挿入する

マイCSV:

My CSV

マイSQL表:

enter image description here

私はMYSQLにCSVを挿入したいと思います。

私はこれをコードする必要はないことを理解していますが、コードを1時間ごとにリフレッシュするためのpythonコードとしてデータをMYSQLに入れたいと思います。を試してみてください

まず:ここ

は私のコードです

<?php 

//database connection details 
$connect = mysql_connect('127.0.0.1','admin','password'); 

if (!$connect) { 
die('Could not connect to MySQL: ' . mysql_error()); 
} 

//your database name 
$cid =mysql_select_db('weather',$connect); 

// path where your CSV file is located 
define('CSV_PATH','C:/scripts/'); 

// Name of your CSV file 
$csv_file = CSV_PATH . "nea.csv"; 


if (($handle = fopen($csv_file, "r")) !== FALSE) { 
    fgetcsv($handle); 
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
    $num = count($data); 
    for ($c=0; $c < $num; $c++) { 
     $col[$c] = $data[$c]; 
    } 

// column name in mysql = column in csv? 
$validTime = $col[0]; 
$Date = $col[1]; 
$Time = $col[2]; 
$Lat = $col[3]; 
$Lon = $col[4]; 
$AreaName = $col[5]; 

// SQL Query to insert data into DataBase 
$query = "INSERT INTO neaweather(validTime, Date, Time, Lat, Lon, AreaName) 
VALUES('".$col[0]."','".$col[1]."','".$col[2]."','".$col[3]."','".$col[4]."','".$col[5]."')"; 
$s = mysql_query($query, $connect); 
} 
    fclose($handle); 
} 

echo "File data successfully imported to database!!"; 
mysql_close($connect); 
?> 

2回目の試行:

<?php 
//set the connection variables 
$hostname = "127.0.0.1"; 
$username = "admin"; 
$password = "password"; 
$database = "weather"; 
$filename = "C:/scripts/nea.csv"; 

//connect to mysql database 
$connection = mysqli_connect($hostname, $username, $password, $database) or  
    die("Error " . mysqli_error($myConnection)); 

// open the csv file 
$fp = fopen($filename,"r"); 

//parse the csv file row by row 
while(($row = fgetcsv($fp,"500",",")) != FALSE) 
{ 
$sql = "INSERT INTO neaweather (ValidTime, Date, Time, Lat, Lon, AreaName) VALUES ('".mysqli_escape_string($data[0])."','".mysqli_escape_string($data[1])."','".mysqli_escape_string($data[2])."','".mysqli_escape_string($data[3])."','".mysqli_escape_string($data[4])."','".mysqli_escape_string($data[5])."')"; 
    mysqli_query($myConnection,$sql); 
    if($query){ 
     echo "row inserted\n"; 
    } 
    else{ 
     echo die(mysqli_error()); 
    } 
} 
fclose($fp); 

//close the db connection 
mysqli_close($myConnection); 
?> 

EDIT:私は両方のコードを実行し、エラーではありませんすべて。しかし、データはまだMYSQLに入力されていません

+1

'アクセスが<パスワードを使用して:NO> 'localhost 'の@'' ユーザのために拒否された'あなたは、したがって接続が確立されていなかったMySQLへのいずれかの資格情報を送信しないことを意味します。これはあなたが '$ connection'として接続を取得したがコードの後ろで' $ myConnection'を使って試したところです –

+0

私はmysqlに資格証明を送信していません。 :x – plzhelpmi

+1

正しいログイン/パスワードをMySQLに与える必要があります – Jocelyn

答えて

-2

私はこのライブラリを使用することをお勧めします、それはcsv、xls、xlsxファイルのインポートとエクスポートをサポートしています。

私はこれを数回使っていますが、それは魅力的です。

PHPExcel:https://github.com/PHPOffice/PHPExcel

+0

こんにちは、あなたの提案に感謝します。しかし、私のコードは今はエラーがありません。お手伝いできますか? – plzhelpmi

+0

こんにちは、私はあなたにskypeのメッセージを残しました:) – plzhelpmi

+0

確かに、私はskypeで、plzはskypeのメッセージに戻ります。私はデバッグしてコードを修正し、その後に再投稿します。 –

関連する問題