我正在使用PHPExcel我正在测试将数据从文件上传到MySQL中的表的能力。
我提取的数据总是从单元格C8开始我将需要列C,D,E,F和G中的数据,直到行为空。
现在,下面的代码将提取数据。我能够回显所有值,问题似乎在于$insertTable
查询(或靠近它),因为数据没有插入。
另外 - 我没有遇到任何错误
脚本运行,消息显示为"Record has been added"
,但是当我在phpMyAdmin中查看我的表时 - 我什么都没看到。
有人能发现错误吗?另外,如果有人想给我指点将其转换为PDO,我们将非常感谢!!
<?php
/************************ YOUR DATABASE CONNECTION START HERE ****************************/
define ("DB_HOST", "localhost"); // set database host
define ("DB_USER", "root"); // set database user
define ("DB_PASS",""); // set database password
define ("DB_NAME","setpoints"); // set database name
define ("DSN", "mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset=utf8");
$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Couldn't make connection.");
$db = mysql_select_db(DB_NAME, $link) or die("Couldn't select database");
$databasetable = "job21433";
/************************ YOUR DATABASE CONNECTION END HERE ****************************/
$jobnum = "21433189-01";
set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/');
include 'PHPExcel/IOFactory.php';
// This is the file path to be uploaded.
$inputFileName = '21433189_LadnerLiesure_pointsreport.xlsx';
try {
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
} catch(Exception $e) {
die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
}
$allDataInSheet = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
$arrayCount = count($allDataInSheet); // Here get total count of row in that Excel sheet
for($i=8;$i<=$arrayCount;$i++){
$block_name = trim($allDataInSheet[$i]["C"]);
$typ = trim($allDataInSheet[$i]["D"]);
$obj_id = trim($allDataInSheet[$i]["E"]);
$device_id = trim($allDataInSheet[$i]["F"]);
$obj_name = trim($allDataInSheet[$i]["G"]);
$query = "SELECT BLOCK_NAME FROM `job21433` WHERE BLOCK_NAME = '".$block_name."' and TYP = '".$typ."' and OBJ_ID = '".$obj_id."' and DEVICE_ID = '".$device_id."' and OBJ_NAME = '".$obj_name."'";
$sql = mysql_query($query);
$recResult = mysql_fetch_array($sql);
$existName = $recResult["BLOCK_NAME"];
if($existName=="") {
$insertTable= mysql_query("insert into `job21433` (JOBNUM, BLOCK_NAME, TYP, OBJ_ID, DEVICE_ID, OBJ_NAME) values('".$jobnum."', '".$block_name."', ".$typ."', ".$obj_id."', ".$device_id."', ".$obj_name."');");
$msg = 'object name = '.$obj_name.'Record has been added. <div style="Padding:20px 0 0 0;"><a href="">Go Back to tutorial</a></div>';
} else {
$msg = 'Record already exist. <div style="Padding:20px 0 0 0;"><a href="">Go Back to tutorial</a></div>';
}
}
echo "<div style='font: bold 18px arial,verdana;padding: 45px 0 0 500px;'>".$msg."</div>";
?>
以下是数据库的设置方式:
答案 0 :(得分:1)
,&#34;。$ typ。&#34;&#39;,&#34;。$ obj_id。&#34;&#39;,&#34;。$ device_id。&#34; &#39;,&#34;。$ obj_name。&#34;&#39; &lt; - 缺少行情?