【问题标题】:Error to connection at the database: Can't connect to local MySQL server through socket [duplicate]数据库连接错误:无法通过套接字连接到本地 MySQL 服务器 [重复]
【发布时间】:2016-11-22 07:24:44
【问题描述】:

我已经在托管网站上实现了数据库,而不是在使用 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): 无法通过 /srv/disk8/2129310/www/haer2jkqlgjql.co 中的套接字 '/var/run/mysqld/mysqld.sock' (2) 连接到本地 MySQL 服务器.nf/signUp.php20

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

【问题讨论】:

标签: php mysql


【解决方案1】:

语法错误

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

正确的语法是

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

【讨论】:

  • 虽然这是正确的,但这并不能解决问题,因为他实际上无法连接到 MySQL 服务器。
  • 谢谢@TomWright。但我回答了我在第一眼看到的更正。现在正在尝试解决更多问题。
  • 谢谢@devodedra,但我不工作。
猜你喜欢
  • 2022-11-24
  • 2011-01-12
  • 1970-01-01
  • 2019-07-03
  • 2017-01-21
  • 2013-03-04
  • 2020-11-14
  • 2017-10-07
相关资源
最近更新 更多