mysqli_query不会更新数据库,但不会返回错误

时间:2016-06-28 06:43:15

标签: php mysql phpexcel

我正在尝试使用phpexcel从excel电子表格更新数据库。一切似乎都正常运行,但数据库仍然是空的。

这是我的代码:

<?php

$con=mysqli_connect("localhost","root","password","PIX");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
echo $con->host_info . "\n<br><br";

/** PHPExcel_IOFactory */
require_once dirname(__FILE__) . '/Classes/PHPExcel/IOFactory.php';
$fileName = "Highlights.xls";
$objReader = PHPExcel_IOFactory::createReaderForFile($fileName);
$objReader->setReadDataOnly();
$objPHPExcel = $objReader->load($fileName);

$allDataInSheet = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

$arrayCount = count($allDataInSheet); // Total Number of rows in the uploaded EXCEL file
echo $arrayCount."<br>";

for($i=1;$i<=$arrayCount;$i++){
  $string = '"'."INSERT INTO data (`pixName`) VALUES ";
  $pixName= trim($allDataInSheet[$i]["A"]);

  $string .= "('".$pixName."')".'"';
  echo $string."<br>";
  mysqli_query ($con, $string);
}

mysqli_close($con);
?>

现在,我发现它很奇怪,因为我检查了$ string的值,它应该是它应该是:

  

“INSERT INTO data(pixName)VALUES('20091202tbg001')”

我没有任何错误消息,但我的数据库中没有任何内容。 我在这里看不到什么?

非常感谢您的时间。

2 个答案:

答案 0 :(得分:0)

请尝试以下方法:

for($i=1;$i<=$arrayCount;$i++){
  $string = "INSERT INTO data (`pixName`) VALUES ";
  $pixName= trim($allDataInSheet[$i]["A"]);

  $string .= "('".$pixName."')";
  echo $string."<br>";
  mysqli_query ($con, $string);
}

您的错误是在此查询中添加“(双引号)

答案 1 :(得分:0)

您无需添加&#34; ...&#34;查询中的引号。只需将其删除并检查

即可
for($i=1;$i<=$arrayCount;$i++){
  $string = "INSERT INTO data (`pixName`) VALUES "; // Removed quotes 
  $pixName= trim($allDataInSheet[$i]["A"]);

  $string .= "('".$pixName."')"; // Removed quotes 
  echo $string."<br>";
  mysqli_query ($con, $string);
}
相关问题