2016-05-26 5 views
-7

mysqlをmysqliに変更している間、私は完全に動作するPHPファイルから、それは1つではありませんでした!私はすべての変更のための指示に従った、あなたが助けることができる?MySQLからMySQLiに変更されました。もう動作しません。

<?php 

function db_open() { 
    $dtbhost=":/something/home/something2/mysql/run/mysql.sock"; 
    $dtbuser="root"; 
    $dtbpass="mypass"; 
    $dtbname="mydb"; 
    $con = mysqli_connect("$dtbhost","$dtbuser","$dtbpass","$dtbname"); 

    // Check connection 
    if (mysqli_connect_errno()) 
     { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     } 
} 

session_start(); // Starting Session 
$error=''; // Variable To Store Error Message 
if (isset($_POST['submit'])) { 
    if (empty($_POST['username']) || empty($_POST['password'])) { 
     echo ("<SCRIPT LANGUAGE='JavaScript'> 
      window.alert('You did not complete all of the required fields') 
      window.location.href='index.html' 
      </SCRIPT>"); 
    } 
    else 
    { 
    // Define $username and $password 
    $username=$_POST['username']; 
    $password=$_POST['password']; 
    // Establishing Connection with Server by passing server_name, user_id and password as a parameter 
    db_open(); 
    // To protect MySQL injection for Security purpose 
    $username = stripslashes($username); 
    $password = stripslashes($password); 
    $username = mysqli_real_escape_string($con, $username); 
    $password = mysqli_real_escape_string($con, $password); 

    $query = mysqli_query($con, "SELECT * FROM login_users WHERE username = '$username' AND password = '$password'") 
      or die(mysqli_error()); 

    $rows = mysqli_num_rows($query); 
    if ($rows == 1) { 
     $_SESSION['login_user']=$username; // Initializing Session 
     header("location: profile.html"); // Redirecting To Other Page 

    } else { 
     echo ("<SCRIPT LANGUAGE='JavaScript'> 
      window.alert('Wrong username password combination. Please re-enter.') 
      window.location.href='index.html' 
      </SCRIPT>"); 
    } 
    mysqli_close($con); // Closing Connection 
    } 
} 
?> 

私が得るエラーは以下のとおりです:

(mysqlの)前::

<?php 

function db_open() { 
    $dtbhost=":/something/home/something2/mysql/run/mysql.sock"; 
    $dtbuser="root"; 
    $dtbpass="mypass"; 
    $dtbname="mydb"; 
    $connection = mysql_connect("$dtbhost", "$dtbuser", "$dtbpass") 
     or die('00: No Connection'); 
    @ mysql_select_db("$dtbname") or die('01: No Database');  
} 

session_start(); // Starting Session 
$error=''; // Variable To Store Error Message 
if (isset($_POST['submit'])) { 
    if (empty($_POST['username']) || empty($_POST['password'])) { 
     echo ("<SCRIPT LANGUAGE='JavaScript'> 
      window.alert('You did not complete all of the required fields') 
      window.location.href='index.html' 
      </SCRIPT>"); 
    } 
    else 
    { 
    // Define $username and $password 
    $username=$_POST['username']; 
    $password=$_POST['password']; 
    // Establishing Connection with Server by passing server_name, user_id and password as a parameter 
    db_open(); 
    // To protect MySQL injection for Security purpose 
    $username = stripslashes($username); 
    $password = stripslashes($password); 
    $username = mysql_real_escape_string($username); 
    $password = mysql_real_escape_string($password); 
    $query = mysql_query("SELECT * FROM login_users WHERE username = '$username' AND password = '$password'") 
      or die(mysql_error()); 

    $rows = mysql_num_rows($query); 
    if ($rows == 1) { 
     $_SESSION['login_user']=$username; // Initializing Session 
     header("location: profile.html"); // Redirecting To Other Page 

    } else { 
     echo ("<SCRIPT LANGUAGE='JavaScript'> 
      window.alert('Wrong username password combination. Please re-enter.') 
      window.location.href='index.html' 
      </SCRIPT>"); 
    } 
    mysql_close($connection); // Closing Connection 
    } 
} 
?> 

(mysqliの)した後、ここに私のコードは、(mysqliの)(mysqlの)前後である

警告:mysqli_connect():php_network_getaddresses:getaddrinfoが失敗しました:hostnameもservnameも指定されていないか、/ something/home/something2/public_html/l ogin.phpライン上の8

警告:mysqli_connect():(/ 2002 HY000):php_network_getaddresses: のgetaddrinfoは失敗しました:ホスト名もservnameのは、提供、または /something/home/something2/public_html/login.phpで知られていませんphp_network_getaddresses:失敗のgetaddrinfo: ホスト名もservnameの提供、またはない

を知ら(8行目は次のとおりです。$con = mysqli_connect("$dtbhost","$dtbuser","$dtbpass","$dtbname");

$詐欺であるため、より多くのエラーをトリガライン8上でMySQLに接続 に失敗しました。空の。 ご協力いただきありがとうございます。

+0

ホストが何であるか知っていますか? – Daan

+0

申し訳ありませんが[RTFM](http://php.net/manual/en/mysqli.construct.php)、ソケットとホストの違いを調べてください –

+0

はい私は気づいただけですが、私はそれが間違っていないと思ったmysqlで働いた! Mysqlはソケットとホストで動作しますか? – lena

答えて

0

$ dtbhost変数は、IPアドレスまたはドメイン名である必要があります。たとえば、 'localhost'、 '127.0.0.1'、 'example.com'などです。ソケットファイルではありません。

+0

ok、mysqliにはホストが必要ですが、mysqlにはソケットが必要ですか?それは正しい? – lena

+0

mysqlドライバはホストORとソケット(どちらもOK)で接続できます mysqliドライバはホストまたはホストにのみ接続できます: –

+0

ありがとう!あなたが私のホストアドレスをソケットリンクから得ることができたらどうなるでしょうか? – lena

関連する問題