Maurice Elagu Maurice Elagu - 2 months ago 11
MySQL Question

Warning: mysqli_error() expects parameter 1 to be mysqli, null given in

Warning: mysqli_error() expects parameter 1 to be mysqli, null given in error persists when am trying to upload a csv file into the database.

below is my code snippet. I don't where i could be misfiring.

<?php

class UploadFIle
{
function __construct()
{

}
public function insertFile($filename,$tableName){
global $db_mysqli_connection;
$queryTruncate="TRUNCATE table ".$tableName;
mysqli_query($db_mysqli_connection,$queryTruncate);
$handle = fopen($filename, "r");
$query='INSERT INTO '.$tableName.' VALUES ';

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$limit=sizeof($data);
$query.='(';
$counter=0;
while($limit>0){
$query.="\"".$data[$counter]."\"".',';
++$counter;
--$limit;
}

$query=rtrim($query,',');

$query.='),';

}
$query=rtrim($query,',');
mysqli_query($db_mysqli_connection,$query) or die(mysqli_error($connection).$query);

if (mysqli_affected_rows($db_mysqli_connection)<=0) {
// echo "\nQuery execute failed: ERRNO: (" . $mysqli->errno . ") " . $mysqli->error;
$csvMessage = "Upload Failed <br/>" . $db_mysqli_connection->error ;
}else{
$csvMessage = "Upload Successful";
}
return $csvMessage;
//var_dump($mysqli);
}


}

?>

Answer

Look at this line:

mysqli_query($db_mysqli_connection,$query) or die(mysqli_error($connection).$query);

You are using $db_mysqli_connection to connect, but $connection to check for error. You must replace $connection with $db_mysqli_connection.