멀티갤러리 스킨에서 삭제를 하면 에러가 납니다 > 그누3질답

그누3질답

멀티갤러리 스킨에서 삭제를 하면 에러가 납니다 정보

그누보드 멀티갤러리 스킨에서 삭제를 하면 에러가 납니다

본문

안녕하세요^^
멀티갤러리를 사용하는데 올린글을 삭제하거나 댓글을 삭제하려고하면
아래와 같은 에러가 나타납니다.
스킨을 다른걸로 다운받아서 바꾸어봐도 마찬가지인데
어느 부분을 손보면 되는건지 통 모르겠습니다
스킨 문제는 아닌것 같은데 MySQL문제 인가요?
부탁드립니다.........

참고로 이 게시판은 문제가 해결될때까지 공개 게시판으로 전환했으며
테스트 아이디는 abc 비번은 1111입니다

=====================================================================================================
delete from where wr_id = '1494'

1064 : You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'where wr_id = '1494'' at line 1

======================================================================================================
  • 복사

댓글 전체

> 생각해보니 처음부터 멀티스킨을 사용한것이 아니라 일반 게시판을 사용해서
> 사진을 등록 하였습니다. 얼마전부터 멀티스킨으로 바꾸었는데 그 이후부터 에러가

기존 스킨을 멀티스킨으로 사용하셨군요.
기존 스킨을 멀티스ㅤㅋㅣㅌ으로 바꾸면 보는것은 큰문제 없습니다.
그러나 수정,삭제가 문제가 발생합니다.
왜냐면 기존 스킨과 멀티 스킨의 이미지 파일의 관리 방식과 파일이름 생성 방법이 완전히 다르기 때문입니다.
...
멀티스킨으로 변경한 후에 글을 올린것은 이미지와 코멘트 작성에 문제가 없을 것으로 판단됩니다.
자꾸 죄송합니다^^
아래 소스는 config.skin.php 내용인데요
느낌 뿐이지만 이상이 있는것 같지는 않습니다

오랫동안 해결이 안되서 멀티스킨을 다른것으로 다운받아서 바꾸어봤거든요
저는 소스에 대하여 잘 모르지만 스킨에 문제가 없다면 혹시
MySQL 쪽에 문제가 있을수도 있는지도 궁금해 집니다.

아! 드릴 힌트가 있군요^^
생각해보니 처음부터 멀티스킨을 사용한것이 아니라 일반 게시판을 사용해서
사진을 등록 하였습니다. 얼마전부터 멀티스킨으로 바꾸었는데 그 이후부터 에러가
생긴것 같습니다.  혹시 힌트가 될런지요?

===========================================================================

<?
define("_CONFIG_SKIN_", TRUE);

// 스킨 설정

$simg_width = 240; // 작은이미지 폭
$simg_heigth = 0;  // 작은이미지 높이 : 큰이미지의 폭과 높이 비율에 따라 틀려짐
$file_size = 2048;  // 업로드 파일 용량은 설정값 이하만 가능 (kb)
$file_mod = 3;    // gbview.skin.php 에서 한 라인에 이미지 몇개씩 보여줄건지?
$file_max = 50;  // 한번에 업로드할 파일은 몇개까지?
$image_quality = 90;    // 이미지 품질(보존용 사진,압축된 사진인 경우 70이상 지정)
$file_table = "$cfg[write_table_prefix]{$bo_table}_file";
// 스킨 설정 끝

function get_thumb_filename($num, $seq)
{
    return sprintf("%05d", $num) . "_" . sprintf("%03d", $seq);
}

//
// 이미지에 워터마크 넣기
// PHP > 4.0, GD > 2.0.1
// WatermarkImage("원본이미지","겹처지는이미지","투명도","화질",[겹치는이미지위치(0,1,2)]);
//
function WatermarkImage($CanvasImage, $WatermarkImage /* MUST BE PNG */, $Opacity=10, $Quality=70, $WatermarkLocate=1)
{
  // create true color canvas image:
  $canvas_src = imagecreatefromjpeg($CanvasImage);
  $canvas_w = ImageSX($canvas_src);
  $canvas_h = ImageSY($canvas_src);
  $canvas_img = imagecreatetruecolor($canvas_w, $canvas_h);
  imagecopy($canvas_img, $canvas_src, 0,0,0,0, $canvas_w, $canvas_h);
  imagedestroy($canvas_src);    // no longer needed

  // create true color overlay image:
  $overlay_src = imagecreatefrompng($WatermarkImage);
  $overlay_w = ImageSX($overlay_src);
  $overlay_h = ImageSY($overlay_src);
  $overlay_img = imagecreatetruecolor($overlay_w, $overlay_h);
  imagecopy($overlay_img, $overlay_src, 0,0,0,0, $overlay_w, $overlay_h);
  imagedestroy($overlay_src);    // no longer needed

  // setup transparent color (pick one):
  $black  = imagecolorallocate($overlay_img, 0x00, 0x00, 0x00);
  $white  = imagecolorallocate($overlay_img, 0xFF, 0xFF, 0xFF);
  $magenta = imagecolorallocate($overlay_img, 0xFF, 0x00, 0xFF);   
  // and use it here:
  imagecolortransparent($overlay_img, $white);

  // 워터마크 이미지의 위치(기본값은 가운데 1입니다.)
  switch ($WatermarkLocate) {
case 0:  // 좌측상단
  $ww = 0;
  $wh = 0;
  break;
  case 1: // 가운데
  $ww = ($canvas_w / 2) - ($overlay_w / 2);
  $wh = ($canvas_h / 2) - ($overlay_h / 2);
  break;
  case 2: // 우측하단
  $ww = $canvas_w - ($overlay_w);
  $wh = $canvas_h - ($overlay_h);
  break;
}

  // copy and merge the overlay image and the canvas image:
  imagecopymerge($canvas_img, $overlay_img, $ww,$wh,0,0, $overlay_w, $overlay_h, $Opacity);

  imagejpeg($canvas_img, $CanvasImage, $Quality);
/*
  // output:
  header("Content-type: image/jpeg");
  imagejpeg($canvas_img, '', $Quality);
*/
  imagedestroy($overlay_img);
  imagedestroy($canvas_img);
}
// function WatermarkImage 끝
?>

===============================================================================
gbdelete.skin.php는 문제가 없는것 같습니다.
from과 where 사이에 있는 $file_table 이것이 위에서 include 되는 config.skin.php에 있는데..
config.skin.php 파일에 다음 내용과 일치하는것이 있는지 확인해보시기 바랍니다.


$file_table = "$cfg[write_table_prefix]{$bo_table}_file";

function get_thumb_filename($num, $seq)
{
    return sprintf("%05d", $num) . "_" . sprintf("%03d", $seq);
}
아래 소스는 gbdelete.skin.php 의 내용입니다
이곳에서 문제가 생기는 것인지 궁금합니다......

========================================================================================================

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

if (!defined("_CONFIG_SKIN_"))
    include "$board_skin/config.skin.php";

// 업로드된 파일을 삭제함
for ($k=0; $k<$file_max; $k++) {
    $file_name = get_thumb_filename($wr_id, $k);
    @unlink("./data/file/$bo_table/${file_name}.jpg");
    @unlink("./data/file/$bo_table/${file_name}_s.jpg");
}

// 행 삭제
$sql = " delete from $file_table where wr_id = '$wr_id' ";
sql_query($sql);
?>

======================================================================
어느 테이블에서 삭제할것인지의 값이 안보이는군요.
from과 where 사이에 삭제하고자 하는 테이블 명이 있어야 합니다.
소스에서 from과 where 사이에 $bo_table 이 설정되어있는지 확인해보시고 앞쪽에서 혹시 값이 없어지지 않는지 확인해보세요.

>> delete from where wr_id = '1494'
© SIRSOFT
현재 페이지 제일 처음으로