我收到了一个"无法获取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以查看它是否已存在并根据行是否存在运行更新或插入查询。
答案 0 :(得分:0)
我怀疑你多次调用该函数。但它最后会调用mysqli_close($conn)
,因此当您下次出现错误时尝试使用它时,因为$conn
不能再使用了。
摆脱那一行,并在使用MySQL完成脚本时关闭连接(或者不要打扰,当脚本结束时它会自动关闭)。