【发布时间】:2023-04-01 10:13:01
【问题描述】:
我使用以下代码连接到我的网络服务器上的数据库:
$conn = new mysqli("localhost", "username", "password", "database_name");
此连接工作正常,我可以毫无问题地使用我的网站(对数据库进行大量查询)。
但是,我遇到了一个 PHP 脚本的问题,该脚本从产品提要中加载了大约 8000 种产品。在我加载的每个产品上,我都与数据库建立连接(并且在产品加载完成后关闭此连接)。 当我启动这个脚本时,它通常(它有时会起作用)给出以下错误(注意:这个错误直接发生在开始时,它不会加载任何产品):
Warning: mysqli::mysqli(): (HY000/2002): No such file or directory in
我知道已经有很多其他主题出现了同样的错误,但是我还没有设法解决我的问题。我尝试过的一件事是将“localhost”替换为“127.0.0.1”。但是,这会将上述错误更改为:
Warning: mysqli::mysqli(): (HY000/2002): Connection refused in
我希望有人知道为什么会出现这些错误。期待您的意见,谢谢。
【问题讨论】:
-
阅读本文以获得持久连接:php.net/manual/en/mysqli.persistconns.php
-
尝试将
p:localhost写入主机名并与我们分享发生的情况。 -
只是为了确定:你能改变你的脚本,让它只使用一个数据库连接吗?我的意思是,一开始就打开它,在你处理完所有产品之前不要关闭它......
-
添加 p:localhost 似乎对我不起作用。 Oscar 建议的一个数据库连接似乎确实有效。我现在已经打开了我的 PHP 脚本 5 次(以加快产品的加载速度,这是必要的,因为将产品加载到数据库中需要一段时间)但是我现在面临的问题是我收到了“警告:mysqli:: mysqli(): (HY000/2002): 当我尝试打开表时,我的网站和数据库中都没有这样的文件或目录。我猜这背后的原因是我只能打开有限数量的数据库连接?
标签: php mysql database mysqli mysql-error-1064