2016-07-19 33 views
0

MySQLを使用しているのではなく、ホスティングサイトでデータベースを認識しました。 データベースを使用してIOSアプリケーションでSignUp/Loginを使用しています。データベースは接続にPHPコードを使用しています。データベース接続エラー:ソケットを介してローカルMySQLサーバに接続できません

これは、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行目にエラーがあることを示していますが、理由を理解できません。

+1

http://stackoverflow.com/a/15039113/1817690ある –

+0

***あなたは本当に使うべきではありません[MD5パスワードハッシュ](http://security.stackexchange.com/questions/19906/is-md5-considered-insecure)***あなたは本当にPHPの[組み込み関数](http:// jayblanchard。 net/proper_password_hashing_with_PHP.html)をパスワードセキュリティを処理します。ハッシュする前に[パスワードを逃さないでください](http://stackoverflow.com/q/36628418/1011527)を確認するか、他のクレンジングメカニズムを使用してください。パスワードを変更すると、パスワードが変更され、不要な追加のコーディングが発生します。 –

答えて

3

その構文ミス

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

右構文は

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

これは間違いありませんが、実際にMySQLサーバーに接続できないため、この問題は解決しません。 –

+0

ありがとう@TomWright。しかし、私は最初の見解で見つけた訂正に答えます。今より多くを解決しようとしています。 –

+0

ありがとう@devodedraしかし、私は動作しません。 – th3g3ntl3man

関連する問題