在加载数据本地填充PHP中使用变量
我一直在编写一个脚本,该脚本将数据从CSV文件导入phpMyAdmin数据库表 使用此代码工作正常:在加载数据本地填充PHP中使用变量,php,mysqli,load-data-infile,Php,Mysqli,Load Data Infile,我一直在编写一个脚本,该脚本将数据从CSV文件导入phpMyAdmin数据库表 使用此代码工作正常: $query = <<<eof LOAD DATA LOCAL INFILE '$file' INTO TABLE c170720 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES
$query = <<<eof
LOAD DATA LOCAL INFILE '$file'
INTO TABLE c170720
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(ccode,custarea,ttlpkt)
eof;
$query=将更改为表“$mu cfile”
到转换为表$mu cfile
您好,$mu cfile表是在其他地方创建的吗?您所说的“它工作完全正常,但我需要变量”是什么意思?@Lambda7 Hi,Ops!我把剧本放错了。我会编辑它。稍等。您正在尝试使用herdoc生成查询,在双引号字符串中创建查询将非常方便。然后,在语句exit(mysqli_error($con))之前打印您的查询代码>对你有好处,写下你的答案,然后接受它
$query = <<<eof
LOAD DATA LOCAL INFILE '$file'
INTO TABLE '$m_cfile'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(ccode,custarea,ttlpkt)
eof;
<?php
$host = "localhost";
$user = "root";
$password = "";
$db = "smposf";
$con = mysqli_connect($host,$user,$password,$db);
$message = "";
if (isset($_POST['submit3']))
{
$m_date=date($sdate);
$m_yy=substr($m_date,2,2);
$m_mm=substr($m_date,5,2);
$m_dd=substr($m_date,8,2);
$m_cfile='c'.$m_yy.$m_mm.$m_dd;
$allowed = array('csv');
$filename = $_FILES['file']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if (!in_array($ext, $allowed))
{
// show error message
$message = 'Invalid file type, please use .CSV file!';
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"], "CSV/" .
$_FILES['file']['name']);
$file = "CSV/" . $_FILES['file']['name'];
$query = <<<eof
LOAD DATA LOCAL INFILE '$file'
INTO TABLE '$m_cfile'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(ccode,custarea,ttlpkt)
eof;
if (!$result = mysqli_query($con, $query))
{
exit(mysqli_error($con));
}
$message = "CSV file successfully imported!";
}
}
?>