2016-06-28 106 views
1

我試圖使用phpexcel從Excel電子表格更新數據庫。一切似乎正常運行,但數據庫仍然是空的。mysqli_query不會更新數據庫,但不會返回錯誤

這裏是我的代碼:

<?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); 
?> 

現在,我覺得很奇怪,因爲我查$字符串的值,它是什麼它應該是:

「INSERT INTO數據(pixName )VALUES(「20091202tbg001」)」

我沒有任何錯誤消息,但沒有出現在我的數據庫。 我在這裏沒有看到什麼?

非常感謝你的時間。

+2

你從來沒有檢查錯誤執行INSERT語句 – Jens

+1

'mysqli_query($ CON,$字符串)後或死亡(mysqli_error($合作n));'把它和檢查一次 –

+1

更新您的行:mysqli_query($ con,$ string)或死(mysqli_error($ con);它會顯示錯誤 –

回答

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); 
} 

你的錯誤是增加「(雙引號)在這個查詢

0

你並不需要添加」 ...」引號就。將其刪除,並檢查

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); 
} 
相關問題