2016-10-02 103 views
-2

中给出警告:mysqli_error()期望参数1为mysqli,如果在尝试将csv文件上载到数据库时发生错误,则返回null。警告:mysqli_error()期望参数1为mysqli,null在

下面是我的代码片段。我不在哪里,我可能会失火。

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

}

>

+0

'var_dump($ db_mysqli_connection)' –

+0

它表示您的$ db_mysqli_connection为空。它在哪里定义? – Turtle

+0

@turtle定义为插入文件函数定义后的全局db_mysqli_connection –

回答

1

看这句话?

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

您正在使用$db_mysqli_connection连接,但$connection检查错误。您必须将$connection替换为$db_mysqli_connection

+0

漂亮的抓人! – Turtle

相关问题