当前位置: 首页 > 知识库问答 >
问题:

数据库连接错误:无法通过套接字连接到本地MySQL服务器[duplicate]

叶弘深
2023-03-14

我已经实现了一个托管网站上的数据库,而不是使用MySQL的mac。我使用数据库在IOS应用程序中注册/登录。数据库使用PHP代码进行连接。

这是PHP代码:

<?php

header('Content-type: application/json');
if($_POST) {
    $Nome   = $_POST['nome'];
    $Cognome   = $_POST['cognome'];
    $Email   = $_POST['email'];
    $DOB   = $_POST['dob'];
    $password   = $_POST['password'];
    $c_password = $_POST['c_password'];

    if($_POST['email']) {
        if ( $password == $c_password ) {

            $db_name     = '****************';
            $db_user     = '****************';
            $db_password = '*********************';
            $server_url  = 'localhost';

            $mysqli = new mysqli('localhost', $db_user, $db_name, $db_password);


            if (mysqli_connect_errno()) {
                error_log("Connect failed: " . mysqli_connect_error());
                echo '{"success":0,"error_message":"' . mysqli_connect_error() . '"}';
            } else {
                $stmt = $mysqli->prepare("INSERT INTO Users (nome, cognome, email, dob, password, c_password) VALUES (?, ?, ?, ?, ?, ?)");
                $password = md5($password);
                $stmt->bind_param('ssssss', $nome, $cognome, $email, $dob, $password, $c_password);


                $stmt->execute();

                if ($stmt->error) {error_log("Error: " . $stmt->error); }

                $success = $stmt->affected_rows;


                $stmt->close();


                $mysqli->close();
                error_log("Success: $success");

                if ($success > 0) {
                    error_log("User '$email' created.");
                    echo '{"success":1}';
                } else {
                    echo '{"success":0,"error_message":"Email Exist."}';
                }
            }
        } else {
            echo '{"success":0,"error_message":"Passwords does not match."}';
        }
    } else {
        echo '{"success":0,"error_message":"Invalid Email."}';
    }
}else {
    echo '{"success":0,"error_message":"Invalid Data."}';
}
?>

这是我在尝试数据库时看到的错误:

(HY000/2002):无法连接到本地MySQL服务器通过套接字'/var/run/mysqld/mysqld.sock'(2)在/srv/disk8/2129310/www/haer2jkqlgjql.co.nf/signUp.php上线20

这个错误告诉我第20行有错误,但我不明白原因。

共有1个答案

亢正德
2023-03-14

它的语法错误

$mysqli = new mysqli('localhost', $db_user, $db_name, $db_password);

正确的语法是

$mysqli = new mysqli('localhost',$db_user,$db_password, $db_name);
 类似资料:
  • 问题内容: 上传或提交页面时,我的网站上出现以下错误: mysql_real_escape_string()[function.mysql-real-escape- string]:无法通过套接字’/var/lib/mysql/mysql.sock’连接到本地MySQL服务器(2) 这到底是什么意思? 问题答案: 由于对该错误的调用引发了错误,因此它意味着您没有先调用该错误并将有效的数据库句柄传递

  • 问题内容: 错误2002(HY000):无法通过套接字’/var/run/mysqld/mysqld.sock’(2)连接到本地MySQL服务器 我尝试了在互联网上找到的所有内容,但是无法解决在Ubuntu 11.04上出现的问题。 我尝试了这些事情: 使用手动启动mysqld 使用启动mysqld 检查它是否正在使用并获得结果 在手动创建文件 授予用户权限 试图删除并重新安装,但仍然无法正常工作

  • 问题内容: 当我在测试套件中尝试连接到本地MySQL服务器时,它失败并显示以下错误: 但是,我始终可以通过运行命令行mysql程序连接到MySQL 。A 显示服务器正在运行,并 确认套接字存在。此外,如果在except该异常的子句中打开调试器,则可以使用完全相同的参数可靠地进行连接。 这个问题可以相当可靠地重现,但是似乎不是100%,因为每当我遇到一次蓝月亮时,我的测试套件就可以运行而不会遇到此错

  • 问题内容: 我在的Mac OS X Mountain Lion上安装了MySQL ,但尝试时出现以下错误: 错误2002(HY000):无法通过套接字’/tmp/mysql.sock’连接到本地MySQL服务器(2) 这个错误是什么意思?我该如何解决? 问题答案: 可能是因为MySQL已安装但尚未运行。 要验证它是否正在运行,请打开“活动监视器”,然后在“所有进程”下搜索并确认您看到了进程“ my

  • 问题内容: 我在尝试连接mysql时遇到大问题。当我跑步时: 我有以下错误: 我的确在目录下。 在我有: 并且在我有: 我已经使用重新启动了Apache 但是我仍然有错误。 否则,我不知道这是否相关,但是当我得到时 问题答案: 如果您的文件my.cnf(通常在 / etc / mysql / 文件夹中)已正确配置为 您可以使用以下命令检查mysql是否正在运行: 尝试将您的权限更改为mysql文件

  • 问题内容: 当我尝试连接到mysql时出现以下错误: 有解决此错误的方法吗?背后的原因可能是什么? 问题答案: 您要连接到“ localhost”还是“ 127.0.0.1”?我注意到,当您连接到“ localhost”时,使用套接字连接器,但是当您连接到“ 127.0.0.1”时,则使用TCP / IP连接器。如果套接字连接器未启用/工作,则可以尝试使用“ 127.0.0.1”。