"无法获取mysqli"函数中插入查询的错误

时间:2018-04-04 22:34:31

标签: php mysql

我收到了一个"无法获取mysqli"尝试从文本文件导入数据时,以下函数出错。但是插入功能在其他地方工作得很好。正在正确解析文件中的数据,当我将其复制并传递到PHPMyAdmin时,查询工作正常。

功能

1. $conn = mysqli_connect("localhost","xxxxx","xxxxx","xxxx") OR die("Error!!");
2. function insert ($query){
3.  global $conn;
4.  if (!$conn) {
5.          die("Connection failed: " . mysqli_connect_error());
6.  }
7.  if (mysqli_query($conn, $query)){
8.      $result = "<b>Inserted $query</b>\n<br />";
9.      return $result;
10. } else {
11.     echo "Error: ". $query . "<br />" . mysqli_error($conn);
12. }
13. 
14. mysqli_close($conn);
15. }

我要插入的查询是:

INSERT INTO movies VALUES( '2603', 'Miracle Season, The', 'The Miracle Season', '2019-04-01',
'2D', '9', '101', '10', 'PG', 'for some thematic elements.', '', 'Scope', '01:30:55' )

我通过$ result = insert($ query);

调用该函数

&#34;无法获取mysqli&#34;错误在第7行。我还在第11行和第14行收到错误。

正如我上面所说,该函数与其他脚本一起工作正常,当我尝试手动运行时,查询工作正常。

另外一个注意事项是插入的项目不包含自动增量ID,因为查询的第一个值已经是另一个数据库的唯一ID。我的导入函数检查id以查看它是否已存在并根据行是否存在运行更新或插入查询。

1 个答案:

答案 0 :(得分:0)

我怀疑你多次调用该函数。但它最后会调用mysqli_close($conn),因此当您下次出现错误时尝试使用它时,因为$conn不能再使用了。

摆脱那一行,并在使用MySQL完成脚本时关闭连接(或者不要打扰,当脚本结束时它会自动关闭)。