2014-12-30 2 views
0

에 연결할 수 없습니다. 이 데이터베이스 I 호스트 아니라고내가 <strong>PDO</strong>를 사용 <strong>PHP</strong>에서 (<strong>에서 GoDaddy</strong> 주최) <strong>MySQL 서버</strong>에 연결을 시도하고 MySQL을

An error occured : SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 

참고 :

는하지만이 오류가 발생합니다. 등

function ConnectToDb() 
{ 
    try{ 
     $dns = 'mysql:host=1.1.1.1;dbname=dummyDbName'; 
     $username = 'dummyUser'; 
     $password = 'dummyPassword'; 
     $LINK = new PDO($dns, $username, $password); 
     $LINK->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 
     $LINK->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     if (!$LINK){ 
      die('Could not connect : ' .mysql_error()); 
     } 
     else{ 
      return $LINK; 
     } 
    } catch (PDOException $ex){ 
     echo "An error occured : " .$ex->getMessage(); 
    } 
} 

단순히 데이터베이스를 구축 할 수있는 사용자 이름과 암호를 받았다

생성, 사용자는 나는 이것이 로컬 호스트에서 작동하는지 알고있다.

아무 문제없이 사용하고 있지만 즉시 데이터베이스에 연결하려고하면 오류가 발생합니다.

누구든지 힌트를 가지고 있습니까?

감사

답변

1

이 형식에 따라 : 당신은 (단지 예) 쿼리를해야 할 때

$user = "username"; 
$pass = "password"; 
$host = "localhost"; 
$db = "yourDbname"; 
$dns = "mysql:host=" . $host . ";dbname=" . $db; 
$dbh = new PDO($dns, $user, $pass); 
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

을 :

$theid = 10; 
$statement = $dbh->prepare('SELECT * FROM yourtable WHERE id = ? and name = ?'); 
$statement->execute(array($theid,'baronth')); 

일부 오류 동안이 있는지보고 싶다면 연결 또는 쿼리를 수행하는 방법 (그리고 try-catch 작동 방식을 알고 있어야 함) :

오류를 표시합니다.

+0

호스트가 서버 주소가 맞는지 확인하기 만하면됩니까? –

+0

이 코드를 모달로 생각하십시오. 때로는 직접 사용할 때 문제가 발생할 수 있습니다 : $ dns = 'mysql : host = 1.1.1.1; dbname = dummyDbName'; 작은 따옴표로 묶은 줄. –

+0

늦게 재생을해서 죄송합니다. 정보를 사용해 주셔서 감사합니다. 아직 제대로 연결하지 못했습니다. 고통 스럽습니다. ( –

관련 문제