2012-12-08 3 views
1

PHP 함수 내에서 mysql에 연결하려고합니다. 자격 증명은 별도의 PHP 파일에 저장됩니다.이 파일은 함수 안에 포함되어 있습니다.PHP 파일이 포함되어 있지만 코드가 작동하지 않습니다.

Warning: mysql_query(): A link to the server could not be established in C:\xamp 
p\htdocs\abc\test.php on line 12. Access denied for user 'ODBC'@'localhost' (using password: NO)  


private function insertToMysql() 
{ 
    include_once('connect_db.php'); 

    $connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die('Oops connection error -> ' . mysql_error()); 
    mysql_select_db(DB_DATABASE, $connection) or die('Database error -> ' . mysql_error()); 

    //Queries 

} 

내가 include_once 문을 울리는 시도하고 이것은 connect_db.php가 포함되어 의미하지만, 어떻게 든 상수가로드되지 않습니다 1. 반환 : 나는 스크립트를 실행할 때, 나는 오류 다음 얻고있다. 무슨 문제가 될 수 있을까 ??? 신임장은 완벽하고 나는 신원을 확인했다. 나는 PHP의 초보자가 아니다. connect_db.php의

내용 : $connection 로컬 변수처럼

<?php 
    define('DB_SERVER', 'localhost'); 
    define('DB_USERNAME', 'root'); 
    define('DB_PASSWORD', '<MyPassword>'); 
    define('DB_DATABASE', 'testdb'); 
?> 
+0

민감한 정보가 X'ed 인 connect_db.php의 내용을 게시 할 수 있습니까? –

+1

$ 연결을 확인하여 확인 했습니까? 함수의 모든 mysql_query() 명령은 '// 쿼리'다음에 있습니까? – jcjr

+0

이 에러는 mysql_query()에서 발생합니다. 게시 된 줄이 완전히 정확하기 때문에 구멍 코드를 게시해야합니다. 또한, 더 이상 사용되지 않으므로 mysql_를 사용하지 말아야한다. – looper

답변

0

가 보인다, 당신은 글로벌함으로써이 문제를 해결할 수 있습니다.

이렇게하면됩니다.

include_once('connect_db.php'); 
$connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die('Oops connection error -> ' . mysql_error()); 
mysql_select_db(DB_DATABASE, $connection) or die('Database error -> ' . mysql_error()); 

function insertToMysql() 
{ 
    //Queries 
    mysql_query('Some query'); 
} 
+0

글로벌 연결을 만드는 것은 안전하지 않을 수 있습니다. – DrinkJavaCodeJava

+0

불안한 방법은 무엇입니까? –

+0

캡슐화되지 않았습니까? (함수가 클래스에 있다고 가정하십시오) – DrinkJavaCodeJava

0

제거 연결 처리기

private function insertToMysql() 
{ 
    include_once('connect_db.php'); 

    mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die('Oops connection error -> ' . mysql_error()); 
    mysql_select_db(DB_DATABASE) or die('Database error -> ' . mysql_error()); 

    //Queries 

} 
관련 문제