2013-12-12 1 views
1

나는이 간단한 코드로 내 MySQL 데이터베이스에 연결하려면 ... 그것은 어리석은 질문이지만이 일어나고있는 이유를 이해할 수 없다고 생각 :PHP/MySQL을 연결

<html> 
    <head> 
     <title>File1</title> 
    </head> 
    <body> 
    <?php 
    $con=mysql_connect("localhost","root","") or die("Failed to connect to MySQL: " . mysql_error()); 
    $db=mysql_select_db("Users",$con) or die("Failed to connect to MySQL: " . mysql_error()); 

    if (mysql_error()) { 
     echo "Failed to connect to MySQL: " . mysql_error(); 
    } 
    ?> 
    </body> 
</html> 

가 사용자로서, 내가 사용하는 뿌리. 문제는 root가 암호가 필요하다는 것입니다. 따라서,이 코드를 사용하면 "MySQL에 연결하지 못했습니다"라는 메시지가 나타납니다. 맞습니까? 그러나 화면은 흰색입니다.

"연결 실패 ..."대신 흰색이 나타나는 이유는 무엇입니까?

감사합니다.

+2

데이터베이스 연결은 PDO와 MySQLi에서 확인하십시오. Mysql_ * 함수가 더 이상 사용되지 않게되었습니다 –

+0

코드에 오류가 없습니다 !!! 빈 페이지를 보여주는 이유 –

+0

mysql_connect 함수의 사용은 가치가 떨어집니다. mysqli_connect 함수를 대신 사용하십시오. –

답변

0

:

display_errors = on 

그런 다음 다시 시작 귀하의 웹 서버.

+0

오류를 표시하는 것이'die()'의 결과에 어떻게 영향을 미칠지 궁금합니다. – jeroen

0

아마도 치명적인 오류가 숨겨져있는 간단한 경우입니까?

사용이에 오류를 켭니다 :

나는 오류를 추가하거나이 라인의 변화 값을 서버에 표시 php.ini 파일 내부되지 않습니다 생각
error_reporting(E_ALL); 
ini_set('display_errors', true); 
0

페이지에서 연결이 설정 되었으나 성공 메시지가 표시되지 않으며 다른 브라우저 출력도 없습니다. 그래서 그것은 빈 화면이 보인다.

if ($con) {  
    echo "Connection successful!!"; 
} 
0

출력이 표시되지 않는 이유는 or die입니다. die()는 스크립트 실행을 중지합니다.

$con=mysql_connect("localhost","root",""); 
$db=mysql_select_db("Users",$con); 
+1

스크립트 실행을 중지합니다. 그러나 당신은 매개 변수로 넘겨주는 문자열의 내용을 출력해야합니다. – andrewsi

+0

@ andrewsi- 문자열 표시는'display_errors' 설정 값에 달려 있습니다. display_errors의 값에 관계없이 사용자의 에코가 표시되어야합니다. –

+0

'display_errors'는 PHP가 내부적으로 생성 한 에러, 경고 및주의 사항을 볼 수 있도록 설정합니다. display_errors 설정이 모든 것을 숨기도록 설정되어 있다면'die()'의 내용은 여전히 ​​나타납니다. – andrewsi

0

$db 변수가 지정되지 않았습니다. $db=

mysql_select_db("Users",$con) or die("Failed to connect to MySQL: " . mysql_error()); 

플러스를 제거하여

사용이 대신은, mysql_ 기능이 사용되지 않습니다. 자세한 내용은 PHP.net 웹 사이트를 참조하십시오. http://www.php.net/manual/en/function.mysql-db-query.php

  • 내가 대신 준비된 명령문 또는 PDO와 mysqli_를 사용하여 시작하는 것이 좋습니다.

    경고

    이 확장은 PHP 5.5.0 기준으로 사용되지 않으며 미래에서 제거 될 예정입니다. 대신 MySQLi 또는 PDO_MySQL 확장을 사용해야합니다. 자세한 내용은 MySQL : API 가이드 선택 및 관련 FAQ를 참조하십시오.

0

오류 표시를 켜거나 끄는 것의 차이는 스크립트가 die() 명령을 종료하기 전에 경고 메시지가 표시됩니다.

그 어떤 PHP 오류 처리와 관련이 같이 항상 출력의 끝에 die()에 의해 인쇄 된 메시지가 표시됩니다

는 MySQL로 연결하지 못했습니다 : 액세스 사용자 '루트'거부 @ ' localhost ' (암호 사용 : NO)

메시지가 표시되지 않는다고 생각하는 유일한 이유는 PHP가 실행되지 않는다는 것입니다. 예를 들어 파일이 .php 파일이 아닌 .html 파일 인 경우 PHP 섹션의 열기 <이 html 태그의 여는 것으로 보여지고 닫는 태그에도 동일하게 적용되므로 빈 페이지로 연결됩니다.

출력의 출처를 확인하면이를 확인할 수 있습니다.