mysql_query() 에 대한 질문입니다.
본문
안녕하세요. 그누보드를 애용하는 사용자입니다.
mysql_query() 함수에 대한 질문인데요...
이번에 서버시스템을 변경하여 php버젼을 5.6.27 로 업그레이드를 하였습니다.
사이트를 제작중에 게시물을 출력하기 위해 쿼리를 날리는데, 쿼리에서 에러가 나네요..;;;
기존에 매번 동일하게 작성해서 쓰던터라, 구문자체에는 오타같은 문제는 없을듯 한데..
<?
$sql = "SELECT * FROM g5_write_notice";
$result = mysql_query($sql);
?>
이 구문이 들어가면 Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) 가 출력이 됩니다.
(물론 상단에 common.php 는 정상적으로 인클루드를 하였습니다.)
기존시스템(5.2 버젼 이하) 에선 정상적으로 사용을 했었는데...
버젼이 올라가면서 함수의 레퍼런스가 달라진건 알고 있지만, 정확히 뭐가 문제인질 모르겠네요...
DB나 기타 다른 문제가 있다면 그누보드 설치자체나 게시판에서 어떠한 문제가 있었을텐데..
게시판의 경우 현재 다른 문제 없이 정상적인 출력을 보여줍니다.
골때리는건..
<?
$connect = mysql_connect("localhost", "root", "password");
mysql_select_db("db");
$sql = "SELECT * FROM g5_write_notice";
$result = mysql_query($sql, $connect);
.
.
.
?>
와 같이 상단에서 직접적인 DB connecting 을 하면 정상적인 출력을 해줍니다...
단순히 mysql_query() 함수 사용에 따른 자체의 문제라면, 여기서도 문제가 발생을 해야 될텐데 말이죠..
고수님들의 엄격하신 지도편달을 부탁드립니다.
답변 4
sql_query() 로 해보시면 ....
해당페이지에서 DB connecting이 안되고있는것같네요 아니면 정보가 틀리신걸수도있으니 /data/dbconfig.php에서 다시한번 확인해보세요
몇일을 해메다 자체적인 결론에 이르렀습니다.
php7 을 지원하기 위해 버젼업된 5.1.3 버젼부터 해당 문제가 발생을 하네요...
이건 버그신고쪽에서 따로 답변을 얻어야 될듯 합니다.
PHP7은 mysqli 만 지원합니다. 그래서 서버의 php 에서 mysqli 를 지원하면 기본적으로
mysqli_* 함수를 사용하게 됩니다. mysqli_connect 함수를 이용해 db 에 연결된 상태에서
mysql_* 함수를 사용하면 위와 같은 오류가 발생합니다. mysql_* 함수 대신 mysqli_*
함수를 사용하셔야 합니다.