データベースにcsvファイルをインポートできるページを作成しようとしています。私は、インポートが機能するようになっている問題を抱えています。それは機会に働いていますが、明らかな理由がなくても動作を停止します。 dbへの手動入力を追加すると、スクリプトがdbに接続していることがわかりますが、truncateはデータベースをクリアしますが、データはインポートされません。私はcsvの各列を反映するように列を設定したdbテーブルを持っています。誰でもこの問題のトラブルシューティングを手伝ってください。ここに私のコードです。csvファイルをデータベースにインポート
DB-config.phpの
<?php
define('_DB_HOST_NAME','localhost');
define('_DB_USER_NAME','root');
define('_DB_PASSWORD','');
define('_DB_DATABASE_NAME','stock_planner');
$dbConnection = mysqli_connect(_DB_HOST_NAME,_DB_USER_NAME,_DB_PASSWORD,_DB_DATABASE_NAME);
?>
のindex.php
<?php
if(isset($_POST['submit'])){
include_once 'db-config.php';
if (!$dbConnection)
{
print "<h1>Unable to connect to the database, contact your administrator!</h1>";
}
else
{
$truncate = "TRUNCATE TABLE stock_sales_report";
$file = $_FILES['csv_stock']['name'];
$import = "LOAD DATA LOCAL INFILE '$file'
INTO TABLE stock_sales_report
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;";
mysqli_query($dbConnection,$truncate);
mysqli_query($dbConnection,$import);
print "<h1>successfully imported.</h1>";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Planner</title>
</head>
<body>
<form method='POST' enctype='multipart/form-data'>
Upload CSV: <input type='file' name='csv_stock' /> <input type='submit' name='submit' value='import' />
</form>
</body>
</html>
エラーが発生しますか? – Ibu
これは '$ _FILES'の一時的な性質と関係があります:http://www.phpforkids.com/php/php-forms-file-uploads.php。アップロードのために 'isset'とは別にこれらのチェックを実行しますか? http://www.phpforkids.com/php/php-forms-file-uploads.php –