묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
mysql 에러가 납니다..[요즘 질문이 많네^^;]
2003.11.10 17:11
아래 소스는 디비 저장 picture_upload_ok.php 파일의 소스입니다.
뭐가 잘못인지 모르지만 mysql에러라고 나오거든요...
아래 error("QUERY_ERROR"); 여기서 에러가 나는데 확인 좀 해주세요..
<?
$_zb_url = "도메인/bbs/";
$_zb_path = "/절대경로/bbs/";
include $_zb_path."outlogin.php";
if(!$member[user_id])
$result = mysql_query("SELECT * FROM StayClub_gallery");
if(!$result) {
error("QUERY_ERROR");
exit;
}
$row = mysql_fetch_row($result);
if($row[0]) {
$new_no = $row[0]+1;
} else {
$new_no = 1;
}
if($del_picture) {
@mysql_query("update StayClub_gallery set picture='' where no='$member[no]'") or Error("사진 자료 업로드시 에러가 발생하였습니다");
}
if($HTTP_POST_FILES[picture]) {
$picture = $HTTP_POST_FILES[picture][tmp_name];
$picture_name = $HTTP_POST_FILES[picture][name];
$picture_type = $HTTP_POST_FILES[picture][type];
$picture_size = $HTTP_POST_FILES[picture][size];
}
if($picture_name) {
if(!is_uploaded_file($picture)) Error("정상적인 방법으로 업로드 해주세요");
if(!eregi(".gif",$picture_name)&&!eregi(".jpg",$picture_name)&&!eregi(".png",$picture_name)&&!eregi(".swf",$picture_name)) Error("사진은 gif 또는 jpg 파일을 올려주세요");
$size=GetImageSize($picture);
//if($size[0]>200||$size[1]>200) Error("사진의 크기는 200*200이하여야 합니다");
$kind=array("","gif","jpg","png","swf");
$n=$size[2];
if(!is_dir("member_picture")){
//만약 pass디렉토리가 없을경우
mkdir("member_picture",0707);
//pass디렉토리생성
}
$path="member_picture/".$user_id."_".time().".".$kind[$n];
if(!@move_uploaded_file($picture,$path)) Error("사진 업로드가 제대로 되지 않았습니다");
$picture_name=$path;
}
$query_gallery = "insert into StayClub_gallery (no,user_id,picture,picture) values ('$new_no','$user_id','$picture','$picture_name')";
$result = mysql_query($query_gallery);
?>
뭐가 잘못인지 모르지만 mysql에러라고 나오거든요...
아래 error("QUERY_ERROR"); 여기서 에러가 나는데 확인 좀 해주세요..
<?
$_zb_url = "도메인/bbs/";
$_zb_path = "/절대경로/bbs/";
include $_zb_path."outlogin.php";
if(!$member[user_id])
$result = mysql_query("SELECT * FROM StayClub_gallery");
if(!$result) {
error("QUERY_ERROR");
exit;
}
$row = mysql_fetch_row($result);
if($row[0]) {
$new_no = $row[0]+1;
} else {
$new_no = 1;
}
if($del_picture) {
@mysql_query("update StayClub_gallery set picture='' where no='$member[no]'") or Error("사진 자료 업로드시 에러가 발생하였습니다");
}
if($HTTP_POST_FILES[picture]) {
$picture = $HTTP_POST_FILES[picture][tmp_name];
$picture_name = $HTTP_POST_FILES[picture][name];
$picture_type = $HTTP_POST_FILES[picture][type];
$picture_size = $HTTP_POST_FILES[picture][size];
}
if($picture_name) {
if(!is_uploaded_file($picture)) Error("정상적인 방법으로 업로드 해주세요");
if(!eregi(".gif",$picture_name)&&!eregi(".jpg",$picture_name)&&!eregi(".png",$picture_name)&&!eregi(".swf",$picture_name)) Error("사진은 gif 또는 jpg 파일을 올려주세요");
$size=GetImageSize($picture);
//if($size[0]>200||$size[1]>200) Error("사진의 크기는 200*200이하여야 합니다");
$kind=array("","gif","jpg","png","swf");
$n=$size[2];
if(!is_dir("member_picture")){
//만약 pass디렉토리가 없을경우
mkdir("member_picture",0707);
//pass디렉토리생성
}
$path="member_picture/".$user_id."_".time().".".$kind[$n];
if(!@move_uploaded_file($picture,$path)) Error("사진 업로드가 제대로 되지 않았습니다");
$picture_name=$path;
}
$query_gallery = "insert into StayClub_gallery (no,user_id,picture,picture) values ('$new_no','$user_id','$picture','$picture_name')";
$result = mysql_query($query_gallery);
?>
댓글 9
-
CityBoys-Life
2003.11.10 19:45
-
한꼬마
2003.11.10 20:01
CityBoys-Life //
님 질문하실때요 본론은 없는 경우가 많아요 이 질문도 다른 분들이 보시면 앞뒤가 맞지 않는 질문이 되기 때문이예요. 기분나쁘게 듣지 마시고요.
프로그램은 뭐든지 질문하실때 그 배경이 되는 부분들도 같이 기술해 주셔야 정확한 답을 얻을수 있어요.
여기도 제로보드 기본 테이블이 아닌 이상은 그림 테이블의 구조 정도는 같이 올려 주셔야 다른분들이 실마리라도 찾을수 있거던요. -
한꼬마
2003.11.10 19:25
if($del_picture) {
@mysql_query("update StayClub_gallery set picture='' where no='$member[no]'") or Error("사진 자료 업로드시 에러가 발생하였습니다");
}
그리고 이건 삭제 되는게 아닙니다. 그냥 파일이름만 지우는겁니다. 정확히 수정했다는표현이 맞겠죠.
삭제는 delete 명령으로 하셔야 레코드가 삭제 됩니다.
no='$member[no]'
이렇게 조건문을 주신 부분은 이렇게 하면 그림테이블의 번호와 회원테이블의 번호가 일치하지 않기때문에 관련이 없습니다.
no,user_id,picture,picture
이렇게 테이블을 만드신것 같은데
picture,picture_name 아닌가요
에러 없이 테이블에저장되지 않는건 명령을 잘못주었을때가 대부분입니다. 그리고 폼에서 날릴때 폼의 명령도 확인해봐야 합니다. -
한꼬마
2003.11.10 19:22
if(!$member[user_id]) {}
이렇게 하세요. 저런 명령은 없습니다.
이거 입력 받을때 <form ..... > 이부분 어떻게 지정하셨나요
그림 파일 등록할때 폼은 명령이 조금다릅니다. -
CityBoys-Life
2003.11.10 18:19
참 그리고 임의로 생성된 디렉토리에는 이미지 파일이 저장이 되어 있지만 삭제도 안되요...
퍼미션은 644로 되어 있습니다...
디렉토리는 707로 되어 있구요.. -
CityBoys-Life
2003.11.10 17:34
if(!$member[user_id])
이부분에 에러가 있어서
if(!$member[user_id]) {}
이렇게 해주니 접속이 되는데 이상하게도 성공메세지가 뜨거든요..
그런데 디비에 확인해 보면 저장이 되어 있지 않습니다..어찌 이런일이..... -
CityBoys-Life
2003.11.10 18:17
/tmp/phpCG9KuS
이거 뭐예요...디비에 드디어 저장이 되는데 이미지 저장이 아닌듯 해서요..
요게 저장이 되어 있으면서 사진을 불러올때도 안되네요..
저장은 되지많 사진 파일이 아니듯 해서요..
뭐가 뭔지 잘 모르겠네...어휴~~~
php배우기도 힘들고 알기도 힘드네....
이거 되면 삭제하는 소스 또 만들어야 하는데... -
특급잠수부
2003.11.10 17:20
1. StayClub_gallery 테이블이 존재하지 않거나
2. DB접속이 안된경우. -
CityBoys-Life
2003.11.10 17:32
테이블은 만들어져 있습니다.
그런데 사이트에 프로젝트 게시판에 왜 접속을 못하게 했는지...
개인 파일자료실 다운받으려고 했는데.......예전에 다운받은 것이 어디에 있을텐데 찾지를 모하겠네요..