我正在制作一个托管在我的 Synology NAS 上的正在建设中的页面。
访问者可以使用他们的电子邮件订阅,并在网站可用时得到通知。
我在将电子邮件添加到数据库的数据库和 PHP 代码方面遇到问题。
如果服务器名称是 localhost
,我会收到以下错误:
SQLSTATE[HY000] [2002] 没有这样的文件或目录
当它是 127.0.0.1
或 127.0.0.1:3306
时,我收到以下错误:
SQLSTATE[HY000] [2002] 连接被拒绝
我还没有在 Stackoverflow 上找到解决方案。
这里的PHP代码:
<?php
$servername = "localhost";
$username = "id";
$password = "password";
$dbname = "dbname";
try {
$conn = new PDO( "mysql:host=$servername;dbname=$dbname", $username, $password );
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sql = "INSERT INTO email ( email ) VALUES ( '$email' )";
$conn->exec( $sql );
echo "New record created successfully";
}
catch( PDOException $e )
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
为什么我会收到此错误?
原文由 VâneVâne 发布,翻译遵循 CC BY-SA 4.0 许可协议
我没有找到综合答案,但设法用以前的答案和其他线程解决了我的问题。
作为潜在的备忘录:
这是一个测试片段,