2016-06-28 4 views
1

Ich versuche, eine Datenbank aus einer Excel-Tabelle mit phpexcel zu aktualisieren. Alles scheint normal zu laufen, aber die Datenbank bleibt leer.mysqli_query wird die Datenbank nicht aktualisieren, gibt aber keinen Fehler zurück

Hier ist mein Code:

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

Jetzt finde ich es komisch, weil ich den Wert von $ string überprüft und es ist, was es sein soll ist:

„INTO Daten einfügen (PixName) WERTE ('20091202tbg001') "

Ich habe keine Fehlermeldung, aber nichts erscheint in meiner Datenbank. Was sehe ich hier nicht?

Vielen Dank für Ihre Zeit.

+2

Sie überprüfen nie Fehler für die Zeit nach der Insert-Anweisung – Jens

+1

'mysqli_query ($ con, $ string) oder sterben (mysqli_error ($ co Ausführung n)); 'setzen Sie es und überprüfen Sie einmal –

+1

aktualisieren Sie Ihre Zeile: mysqli_query ($ con, $ string) oder sterben (mysqli_error ($ con); Es wird auch der Fehler –

Antwort

0

Bitte versuchen Sie die folgenden:

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

Ihr Fehler ist das Hinzufügen "(doppelte Anführungszeichen) in dieser Abfrage

0

Sie müssen nicht hinzufügen" Just ...“zitiert in Abfrage. entfernen und überprüfen

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