2011-07-20 39 views
1

私は最近、データベースをセットアップし、ビルドしているこのウェブサイトのメンバーページに登録できるコードを作成しました。私が使用したコードは、前に何度も取り組んできましたが、私は、私はテストとしてデータを提出しようとすると、このエラーメッセージが出続ける何らかの理由:MySQLデータベース接続の問題

Failed to connect to server: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 

私が知っているすべてを試みましたが、何も動作します。私はちょうど何かが欠けていると思う、ここにデータを送信するPHPコードがあります(ただし、コードには何も間違っていたり、場違いのようですありません):MySQLの接続エラーの原因を

<?php 

session_start(); 


require_once('config.php'); 


$errmsg_arr = array(); 


$errflag = false; 


$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 
if(!$link) { 
    die('Failed to connect to server: ' . mysql_error()); 
} 


$db = mysql_select_db(DB_DATABASE); 
if(!$db) { 
    die("Unable to select database"); 
} 


function clean($str) { 
    $str = @trim($str); 
    if(get_magic_quotes_gpc()) { 
     $str = stripslashes($str); 
    } 
    return mysql_real_escape_string($str); 
} 


$fname = clean($_POST['fname']); 
$lname = clean($_POST['lname']); 
$login = clean($_POST['login']); 
$password = clean($_POST['password']); 
$cpassword = clean($_POST['cpassword']); 


if($fname == '') { 
    $errmsg_arr[] = 'First name missing'; 
    $errflag = true; 
} 
if($lname == '') { 
    $errmsg_arr[] = 'Email'; 
    $errflag = true; 
} 
if($login == '') { 
    $errmsg_arr[] = 'Login ID missing'; 
    $errflag = true; 
} 
if($password == '') { 
    $errmsg_arr[] = 'Password missing'; 
    $errflag = true; 
} 
if($cpassword == '') { 
    $errmsg_arr[] = 'Confirm password missing'; 
    $errflag = true; 
} 
if(strcmp($password, $cpassword) != 0) { 
    $errmsg_arr[] = 'Passwords do not match'; 
    $errflag = true; 
} 


if($login != '') { 
    $qry = "SELECT * FROM members WHERE login='$login'"; 
    $result = mysql_query($qry); 
    if($result) { 
     if(mysql_num_rows($result) > 0) { 
      $errmsg_arr[] = 'Login ID already in use'; 
      $errflag = true; 
     } 
     @mysql_free_result($result); 
    } 
    else { 
     die("Query failed"); 
    } 
} 


if($errflag) { 
    $_SESSION['ERRMSG_ARR'] = $errmsg_arr; 
    session_write_close(); 
    header("location: register-form.php"); 
    exit(); 
} 



{ 
    mkdir("somedirectory//$login") or die ("Could not make directory"); 
} 

{ 
    $ourFileName = "somedirectory/$login/verify.txt"; 
    $ourFileHandle = fopen($ourFileName, 'w') or die("can't open file"); 
    fclose($ourFileHandle); 

    $ourFileName = "somedirectory/$login/name.txt"; 
    $ourFileHandle = fopen($ourFileName, 'w') or die("can't open file"); 
    fclose($ourFileHandle); 

} 

{ 

    $myFile = "somedirectory/$login.txt"; 
    $fh = fopen($myFile, 'w') or die("can't open file"); 
    $stringData = "$login\n"; 
    fwrite($fh, $stringData); 
    fclose($fh); 
} 
{ 

    $file = '000001.php'; 
    $newfile = "somedirectory/$login/$login.php"; 

    if (!copy($file, $newfile)) { 
     echo "failed to copy $file...\n";} 

} 




$qry = "INSERT INTO members(firstname, lastname, login, passwd) VALUES('$fname','$lname','$login','".md5($_POST['password'])."')"; 
$result = @mysql_query($qry); 


if($result) { 
    header("location: register-success.php"); 
    exit(); 
}else { 
    die("Query failed"); 
} 
    ?> 

任意のアイデア?

+1

「ブロック」を分離するのになぜ{{} 'を使用しますか? – zerkms

+1

ビジュアルな組織だと思います。私はPHPに少し慣れていますが、実際にコードに影響を与えていないので、私はそれらを使いました。 –

答えて

1

システムエラー111はECONNREFUSEDなので、指定したホストでリッスンするものはありません。ホストが正しくないか、またはMySQLが実行されていません。

関連する問題