php mysql_connect error 문제 입니다. 채택완료
Warning: mysql_query(): Access denied for user 'www-data'@'localhost' (using password: NO)
이런 에러가 납니다.
혹여나 접속 정보가 틀릴까봐 계속 확인 하였습니다.
phpmyadmin 에서 정상 입력이 되어 웹사이트 상에서는 확인이 가능합니다.
mysq 정보는,
서버: Localhost via UNIX socket서버 타입: MySQL서버 버전: 5.5.44-0+deb8u1 - (Raspbian)제품 버전: 10사용자: root@localhost서버 문자셋: UTF-8 Unicode (utf8)
입니다..
웹서버는,
Apache/2.4.10 (Raspbian)데이터베이스 클라이언트 버전: libmysql - 5.5.44PHP 확장: mysqli
입니다..
phpmyadmin은,
버전 정보: 4.2.12deb2+deb8u1
입니다....
문제는 출력 php에서 게시판으로 뿌려줄 때 에러가 납니다.
이 상황에서 체크 해야 할 부분들 구글신한테도 물어봤는데.. 제가 놓친게 있을까요...........
DB 입력 부분 php 문서는..
Copy
<?php$db = mysql_connect("localhost","root","pi");mysql_select_db("inspection",$db);$sql = "create database IF NOT EXISTS inspection"; $retVal = mysql_query($sql);if(!$retVal){ echo "데이타베이스 생성 실패!!"; exit;}mysql_select_db("inspection",$db);$sql = "create table IF NOT EXISTS product(seq int not null auto_increment, p_key varchar(50) not null,p_variable varchar(50) not null,p_value varchar(50) not null, s_key varchar(50),s_variable varchar(50),s_value varchar(50), n_key varchar(50),n_variable timestamp, n_value varchar(50), ins_key varchar(50),ins_variable varchar(50), ins_value varchar(50),prev_seq int,primary key(seq))";$retVal = mysql_query($sql);if(!$retVal){ echo "product테이블 생성 실패!!"; exit;}$sql = "create table IF NOT EXISTS etc(seq int not null, etc_key varchar(50), etc_variable varchar(50), etc_value varchar(50))";$retVal = mysql_query($sql);if(!$retVal){ echo "ect테이블 생성 실패!!"; exit;}$sql = "create table IF NOT EXISTS inspection(sub_seq int not null auto_increment,seq int not null, ins_num int,ins_key varchar(50) not null, ins_variable varchar(50),ins_value text,retval varchar(10),primary key(sub_seq))"; $retVal = mysql_query($sql);if(!$retVal){ echo "inspection테이블 생성 실패!!"; exit;}$sql = "create table IF NOT EXISTS tbl_total(seq int not null, ins_value varchar(50), s_value varchar(50),CheckYn varchar(10))";$retVal = mysql_query($sql);if(!$retVal){ echo "tbl_total테이블 생성 실패!!"; exit;}
입니다..
그리고 문제의 DB 출력 문서는..
Copy
<?phpini_set("display_errors",1);include_once $_SERVER['DOCUMENT_ROOT']."/db.php";$seq=$_GET['seq'];$sql = "select P.seq,p_value,P.ins_value,s_value,n_value, (select checkYn from tbl_total where seq=P.seq) checkYn ,(select sum(seq) from tbl_total where checkYn='OK') oktotalcheck ,(select sum(seq) from tbl_total where checkYn='FAIL') nototalcheck from product P where seq='".$seq."'";$rs = mysql_query($sql);?>
이렇게 db 정보를 땡겨오고.. db.php는,
Copy
$db = mysql_connect('localhost','root','pi');mysql_select_db("inspection",$db);
로 잘땡겨 오고 있습니다. 입력은 정상적으로 확인 가능한데 출력에서 에러가 생깁니다..
출력부분에 그래서 입력된 db 정보를 전혀 땡기지 못하고 있습니다ㅠㅠ
Copy
<? $arr = array(); $index = 0; while($row = mysql_fetch_array($rs)){ $arr[$index]['seq'] = $row['seq']; $arr[$index]['p_value'] = $row['p_value']; $arr[$index]['ins_value'] = $row['ins_value']; $arr[$index]['s_value'] = $row['s_value']; $arr[$index]['n_value'] = $row['n_value']; $arr[$index]['checkyn'] = ($row['checkYn']=='FAIL') ? '불량':'양품'; $arr[$index]['oktotalcheck'] = ($row['oktotalcheck']) ? $row['oktotalcheck']:0; $arr[$index]['nototalcheck'] = $row['nototalcheck']; $index++; } for($i=0;$i<count($arr);$i++){ $szSt = 0; if($i != 0){ $szSt = $arr[$i]['n_value']-$arr[$i-1]['n_value']; } $seq = $arr[$i]['seq']; $p_value = $arr[$i]['p_value']; $ins_value = $arr[$i]['ins_value']; $s_value = $arr[$i]['s_value']; $n_value = $arr[$i]['n_value']; $checkyn = $arr[$i]['checkyn']; $oktotalcheck = $arr[$i]['oktotalcheck']; $nototalcheck = $arr[$i]['nototalcheck']; ?> <tr> <td><a href="view.html?seq=<?=$seq?>"><?=$seq?></a></td> <td><?=$p_value?></td> <td><?=$ins_value?></td> <td><?=$s_value?></td> <td><?=$szSt?>s</td> <td><?=date("Y-m-d H:i:s",$n_value)?></td> <td><?=$checkyn?></td> <td><?=$oktotalcheck?>/<?=$nototalcheck?></td> <td><a href="javascript:del('<?=$seq?>');">삭제</a></td> </tr> <?}?>
출력단 문서 부분 입니다. 아까 왕계란님이 봐주셨는데 하단의 에러는 잡았습니다..
살려주세요ㅠㅠ
답변을 작성하려면 로그인이 필요합니다.
로그인
근데 root로 쓰나요?
혹시 가상 서버나 서버 호스팅 받고 있나요?