1
PHP를 사용하여 SQL Express 서버에 대량 데이터를 삽입하고 싶습니다.PHP를 사용하여 SQL에 데이터를 삽입하는 문제
데이터가 포함 된 CSV 파일이 있습니다.
아래 코드를 사용하여 데이터를 삽입하지만 50 행만 추가합니다. 나는 그것이 모든 필드를 표시합니다 명령에 삽입 주석에 의해 PHP에서 결과를 인쇄 할 경우
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload page</title>
<style type="text/css">
body {
\t background: #E3F4FC;
\t font: normal 14px/30px Helvetica, Arial, sans-serif;
\t color: #2b2b2b;
}
a {
\t color:#898989;
\t font-size:14px;
\t font-weight:bold;
\t text-decoration:none;
}
a:hover {
\t color:#CC0033;
}
h1 {
\t font: bold 14px Helvetica, Arial, sans-serif;
\t color: #CC0033;
}
h2 {
\t font: bold 14px Helvetica, Arial, sans-serif;
\t color: #898989;
}
#container {
\t background: #CCC;
\t margin: 100px auto;
\t width: 945px;
}
#form \t \t \t {padding: 20px 150px;}
#form input {margin-bottom: 20px;}
</style>
</head>
<body>
<div id="container">
<div id="form">
<?php
ini_set('memory_limit', '512M');
ini_set('max_execution_time', '180');
//Upload File
if (isset($_POST['submit'])) {
\t
\t if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
\t \t echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
\t \t echo "<h2>Displaying contents:</h2>";
\t \t
\t \t //readfile($_FILES['filename']['tmp_name']);
\t }
\t //Import uploaded file to Database
\t $row = 1;
\t if (($handle = fopen($_FILES['filename']['tmp_name'], "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
$server = "10.10.10.10\SQLEXPRESS,1433";
\t \t $options = array( "UID" => "user", "PWD" => "1234", "Database" => "Analytics");
\t \t $conn = sqlsrv_connect($server, $options);
\t \t if ($conn == false) die("<pre>".print_r(sqlsrv_errors(), true));echo "Successfully connected!";
\t \t \t $import="INSERT into [Table](column1,column2,column3) values('$data[0]','$data[1]','$data[2]')";
\t \t \t echo $import;
\t \t \t \t sqlsrv_query($conn,$import) or die(sqlsrv_error());
\t \t \t unset($data);
\t }
\t fclose($handle);
\t }
\t echo "<br /></p>\n";
\t echo $row;
\t
\t print "Import done";
\t //view upload form
}else {
\t print "Upload new csv by browsing to file and clicking on Upload<br />\n";
\t print "<form enctype='multipart/form-data' action='Main.php' method='post'>";
\t print "File name to import:<br />\n";
\t print "<input size='50' type='file' name='filename'><br />\n";
\t print "<input type='submit' name='submit' value='Upload'></form>";
}
?>
</div>
</div>
</body>
</html>
'테이블'에 기본 키가 있습니까? 'data [0], data [1], data [2]'에 작은 따옴표가 있습니까? – gofr1