これに関連する質問がたくさんあることは知っていますが、エラーの解決策を見つけることができないようです。PHPを使用してMYSQLにCSVを挿入する
マイCSV:
マイSQL表:
私は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に入力されていません
'アクセスが<パスワードを使用して:NO> 'localhost 'の@'' ユーザのために拒否された'あなたは、したがって接続が確立されていなかったMySQLへのいずれかの資格情報を送信しないことを意味します。これはあなたが '$ connection'として接続を取得したがコードの後ろで' $ myConnection'を使って試したところです –
私はmysqlに資格証明を送信していません。 :x – plzhelpmi
正しいログイン/パスワードをMySQLに与える必要があります – Jocelyn