db 저장 방법

db 저장 방법

QA

db 저장 방법

본문


<?php
$con=mysqli_connect("localhost","sun7684","qwer1234","sun7684");

if (mysqli_connect_errno($con))

{

   echo "Failed to connect to MySQL: " . mysqli_connect_error();

}

$ID = $_GET['ID'];
$WR_2 = $_GET['WR_2'];
$WR_3 = $_GET['WR_3'];
$WR_4 = $_GET['WR_4'];


$result = mysqli_query($con,"SELECT mb_point FROM g5_member where mb_id='$ID'");
  
$row = mysqli_fetch_array($result);
$data = $row[0];

  
if($data){
echo number_format($data);
}

mysqli_close($con);
?>


<?php
 
define('_INDEX_', true);
include_once('./_common.php');

function insert_write($newpost)
{
    global $g5;

    //게시판 테이블 정보

    $bo_table = $newpost[bo_table];
    if(!strlen($bo_table)) return FALSE; //bo_table 값이 지정되지 않았습니다.
    $board = sql_fetch(" select * from {$g5['board_table']} where bo_table = '$bo_table' ");
    if(!$board) return FALSE; //bo_table이 존재하지 않습니다.
     
    //회원정보 및 권한 확인
    $member = get_member($newpost[mb_id]);
    if(!$member) return FALSE; //mb_id가 존재하지 않습니다.
    //if($board[bo_write_level] > $member[mb_level]) return FALSE; //글쓰기 권한이 없습니다.

    //카테고리 설정
    $ca_name = $newpost[ca_name];
    if ($ca_name && strpos($board[bo_category_list], $ca_name) === FALSE){
        $category_list = $board[bo_category_list]."|".$ca_name;
        $sql = " update {$g5['board_table']} set bo_category_list = '$category_list' where bo_table = '$bo_table' ";
        sql_query($sql);
    }

    //변수 정리
    $write_table = $g5[write_prefix].$bo_table;
    $wr_num = get_next_num($write_table);
    $ca_name = addslashes($ca_name);
    $html = "html1";
    $secret = "";
    $mail = "";
    $wr_subject = addslashes(trim($newpost[wr_subject]));
    $wr_content = addslashes(trim($newpost[wr_content]));
    if(!$wr_subject) return FALSE; //글 제목이 없습니다.
    if(!$wr_content) return FALSE; //글 내용이 없습니다.
    $mb_id = $member[mb_id];
    $wr_password = $member[mb_password];
    $wr_name = $board[bo_use_name] ? $member[mb_name] : $member[mb_nick];
    $wr_email = $member[mb_email];
    $wr_homepage = $member[mb_homepage];
    for($i=1; $i<=10; $i++){
        $wr = "wr_{$i}";
        ${$wr} = addslashes($newpost[$wr]);
    }
    $wr_link1 = $newpost[wr_link1];
    $wr_link2 = $newpost[wr_link2];

    //글 입력하기

    $sql = " insert into $write_table
                set wr_num = '$wr_num',
                     wr_reply = '',
                     wr_comment = 0,
                     ca_name = '$ca_name',
                     wr_option = '$html,$secret,$mail',
                     wr_subject = '$wr_subject',
                     wr_content = '$wr_content',
                     wr_link1 = '$wr_link1',
                     wr_link2 = '$wr_link2',
                     wr_link1_hit = 0,
                     wr_link2_hit = 0,
                     wr_hit = 0,
                     wr_good = 0,
                     wr_nogood = 0,
                     mb_id = '$mb_id',
                     wr_password = '$wr_password',
                     wr_name = '$wr_name',
                     wr_email = '$wr_email',
                     wr_homepage = '$wr_homepage',
                     wr_datetime = '".G5_TIME_YMDHIS."',
                     wr_last = '".G5_TIME_YMDHIS."',
                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',
                     wr_1 = '$wr_1',
                     wr_2 = '$wr_2',
                     wr_3 = '$wr_3',
                     wr_4 = '$wr_4',
                     wr_5 = '$wr_5',
                     wr_6 = '$wr_6',
                     wr_7 = '$wr_7',
                     wr_8 = '$wr_8',
                     wr_9 = '$wr_9',
                     wr_10 = '$wr_10' ";
    sql_query($sql);
     
    $wr_id = sql_insert_id();

    sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' "); //부모 아이디에 UPDATE
    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '$mb_id' ) "); //새글 INSERT    

    sql_query(" update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}' "); //게시글 1 증가

    return array('bo_table' => $bo_table, 'wr_id' => $wr_id, 'sca' => $ca_name);

    //return TRUE;

}

//$newpost[mb_id], $newpost[bo_table], $newpost[wr_subject], $newpost[wr_content] 값만 지정하고,

//insert_write($newpost); 라고 실행시키면 글이 해당 게시판에 올라갑니다.
 
$newpost = array(
    'mb_id' => $_GET['ID'],
    'wr_2' => $_GET['WR_2'],
    'wr_3' => $_GET['WR_3'],
    'wr_4' => $_GET['WR_4'],
    'bo_table' => 'z1',
    'wr_subject' => G5_TIME_YMDHIS.' - 자동등록글',
    'wr_content' => "<span style='font-size:14pt;'>이 글은 자동으로 등록되었습니다.</span>"
);

$result = insert_write($newpost);

?>


위 코드중 아래 코드에서 db에 저장될 변수를 지정합니다..


$newpost = array(
    'mb_id' => $_GET['ID'],
    'wr_2' => $_GET['WR_2'],
    'wr_3' => $_GET['WR_3'],
    'wr_4' => $_GET['WR_4'],
    'bo_table' => 'z1',
    'wr_subject' => G5_TIME_YMDHIS.' - 자동등록글',
    'wr_content' => "<span style='font-size:14pt;'>이 글은 자동으로 등록되었습니다.</span>"
);

 위의 4개의 변수중     mb_id   wr_3  wr_4    이렇게 3개는 정상적으로 저장이 됩니다 

wr_2   이거 한개만 저장이 안되고 빈 공란으로 나옵니다..왜 이럴까요??? 


위 변수들을  맨 위에 코드에서 안드로이드에서  전해받은 변수입니다.

3개는 숫자들이고    wr_2   만 한글입니다


한글만 저장이 안되는데요.... 왜 그런지 알고 싶습니다.

이 질문에 댓글 쓰기 :

답변 2

어떤 사정인지 모르겠지만

php로 넘어 온 값이 한글이라 해서 db에 저장되지 못하지는 않는걸 보면

안드로이드에서 php파일로 넘길 때 문제가 있는 듯 보이네요.


먼저 $_GET['WR_2'] 이것에 한글이 담겼다니 제대로 넘어 왔는지 체크해 보시죠.

답변 감사합니다...  안드로이드에서  $_GET['WR_2']  여기로 한글이 제대로 넘어 온것은 맞습니니다..
왜 냐하면.. 아래 코드로 했을경우는
wr_2  필드에 정상적으로 한글이 저장이 되니까요.....
근데 아래 코드로 저장을 하면..  게시판 리스트에서 게시물 검색시 검색이 안되는 증상이 있어서
위 코드로 대체를 해보려고 하는건데... 위 코드는  wr_2  부분만 저장이 안되는 증상이 있습니다
ㅠㅠㅠㅠ



<?php
$con=mysqli_connect("localhost","sun7684","qwer1234","sun7684");
 
if (mysqli_connect_errno($con))
{
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
 
$ID = $_GET['ID'];
$WR_2 = $_GET['WR_2'];
$WR_3 = $_GET['WR_3'];
$WR_4 = $_GET['WR_4'];

$result = mysqli_query($con,"SELECT mb_point FROM g5_member where mb_id='$ID'");
 
$row = mysqli_fetch_array($result);
$data = $row[0];

 
if($data){
echo number_format($data);
}
 $data_stream = "'".$_GET['ID']."','".$_GET['WR_2']."','".$_GET['WR_3']."','".$_GET['WR_4']."'";
    $query = "insert into g5_write_z1(mb_id,wr_2,wr_3,wr_4) values (".$data_stream.")";
    $result = mysqli_query($con, $query);

mysqli_close($con);
?>

어디가 잘못되어 그러나 하나씩 체크해 보셔야 하겠습니다.
    for($i=1; $i<=10; $i++){
        $wr = "wr_{$i}";
        ${$wr} = addslashes($newpost[$wr]);
    }

이 구문 아래에
alert("wr_2값: ".$wr_2);를 넣어 정상적인 값이 할당되어 있는지 확인해 보시죠.

엄청 급하셨나봅니다.

비밀번호를 노출하는 것은 옳지 않습니다.

댓글이 작성되서 수정/삭제가 안된것이니..

버그신고 https://sir.kr/cm_bug 에 글 남기셔서 관리자의 도움을 받으셔서 

상단의 mysql 정보를 지우거나, 본 게시글을 삭제요청하는 것이 좋겠습니다.


답변을 작성하시기 전에 로그인 해주세요.
전체 38
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT