wordpress站点前端CSV上传(PHP/SQL)

wordpress站点前端CSV上传(PHP/SQL),php,mysql,database,wordpress,csv,Php,Mysql,Database,Wordpress,Csv,我在某些方面取得了很大的进步,但在其他方面却举步维艰。目标是:现有的wordpress站点正在被客户使用。他们希望管理员用户通过上传选项访问其中一个前端页面,在那里他们可以上传CSV(每天几次)。然后,在访问门户中的其他页面时,将显示表中的相应字段(取决于用户)。CSV文件有201个字段,每次的顺序相同。在我的php中,我设置了一个成功的连接,并编写了201个变量,如下所示: <?php $server = "localhost"; $user = "root"; $pw = "root

我在某些方面取得了很大的进步,但在其他方面却举步维艰。目标是:现有的wordpress站点正在被客户使用。他们希望管理员用户通过上传选项访问其中一个前端页面,在那里他们可以上传CSV(每天几次)。然后,在访问门户中的其他页面时,将显示表中的相应字段(取决于用户)。CSV文件有201个字段,每次的顺序相同。在我的php中,我设置了一个成功的连接,并编写了201个变量,如下所示:

<?php

$server = "localhost";
$user = "root";
$pw = "root";
$db = "uwsTest";

$connect = mysqli_connect($server, $user, $pw, $db);

if ($connect->connect_error) {
die("Connection failed: " . $conn->connect_error);
}else{
    echo'success!';
}


if(isset($_POST['submit']))
{

$coldata = array();

$coldata['orderNumber'] = $filesop[0];
$coldata['null'] = $filesop[1];
$coldata['workOrderNum'] = $filesop[2];
$coldata['lowSideMIUNum'] = $filesop[3];
$coldata['highSideMIUNum'] = $filesop[4];
$coldata['accountNum'] = $filesop[5];
$coldata['custName'] = $filesop[6];
现在是SQL查询:

$tablenames = array("staging","clients","meters","tests","costs","workorders");

for($tableno = 0;$tableno < sizeof($tablenames);$tableno++){
$q = "";
$q .= "INSERT INTO ".$tablenames[$tableno]." (".$table_cols[$tableno].") VALUES (";
$cols = explode("," ,$table_cols);
$data = array();
foreach($col as $key => $fldname) {
    $data[] = "'".$coldata[$fldname]."'";
}

$q .= implode(",",$data).");";

}
echo'File submitted';
$tablenames=数组(“暂存”、“客户端”、“仪表”、“测试”、“成本”、“工作顺序”);
对于($tableno=0;$tableno$fldname){
$data[]=“'””$coldata[$fldname]。“'”;
}
$q.=内爆(“,”,$data)。”;
}
回音“文件已提交”;

当我运行这个程序时,没有PHP错误。我在Mamp上运行它,通过一个html提交表单上传CSV,它调用php,然后在我的php索引页面上获得成功连接和成功插入的消息。然而,当我查看MySQL工作台并从表中选择时,它们是空的。我的暂存表实际上只创建了一列作为主键,但我不知道这段代码是否会在数据库表中没有已建立的列/字段的情况下提交所有内容。在我的“staging”选项(索引[0])下的table_cols数组中,我实际上有所有201个变量,因为为了安全起见,整个表单都将放在这个表中。我是否在这里遗漏了一些关于为什么它没有加载到数据库中的信息?

尝试
如果(mysqli_查询($connect,$q)){echo'File submitted';}其他{echo”错误:“.mysqli_错误($connect);}
-正如我在你的另一个问题中所说;你似乎从来没有执行过/询问过它。哦,我现在明白执行的问题了。我来看看它是如何工作的,但是有了这一行,我不应该在其他地方调用执行?另外,对于重复的问题,很抱歉。您必须使用
mysqli\u query()
;它不会自行发生;-)这部分代码并没有显示在您发布的代码中。好的,我已经做了这些更改并取得了一些进展。我的$filesop变量现在有一个错误,所以我需要用“getCSV”类型的函数来定义它。在将值插入到table_cols区域时,也会出现语法错误。每个值周围应该有双引号还是单引号?我知道'foreach'调用需要第二个变量的字符串
$tablenames = array("staging","clients","meters","tests","costs","workorders");

for($tableno = 0;$tableno < sizeof($tablenames);$tableno++){
$q = "";
$q .= "INSERT INTO ".$tablenames[$tableno]." (".$table_cols[$tableno].") VALUES (";
$cols = explode("," ,$table_cols);
$data = array();
foreach($col as $key => $fldname) {
    $data[] = "'".$coldata[$fldname]."'";
}

$q .= implode(",",$data).");";

}
echo'File submitted';