php update에서 적용이 되지 않습니다.
본문
<?php
session_start();
if (isset($_SESSION["userid"])) $userid = $_SESSION["userid"];
else $userid = "";
if (isset($_SESSION["username"])) $username = $_SESSION["username"];
else $username = "";
if (isset($_SESSION["userpass"])) $userpass = $_SESSION["userpass"];
else $userpass = "";
$old_title_name = $_POST["old_title_name"];
$new_title_name = $_POST["title_name"];
$genre = $_POST["genre"];
$introduction = $_POST["introduction"];
$regist_day = date("Y-m-d (H:i)"); // 현재의 '년-월-일-시-분'을 저장
$upload_dir = './img/';
$upfile_name = $_FILES["upfile"]["name"];
$upfile_tmp_name = $_FILES["upfile"]["tmp_name"];
$upfile_type = $_FILES["upfile"]["type"];
$upfile_size = $_FILES["upfile"]["size"];
$upfile_error = $_FILES["upfile"]["error"];
if ($upfile_name && !$upfile_error)
{
$file = explode(".", $upfile_name);
$file_name = $file[0];
$file_ext = $file[1];
$new_file_name = date("Y_m_d_H_i_s");
$new_file_name = $upfile_name.$new_file_name;
$copied_file_name = $new_file_name.".".$file_ext;
$uploaded_file = $upload_dir.$copied_file_name;
if( $upfile_size > 20000000 ) { //20메가
echo("
<script>
alert('업로드 파일 크기가 지정된 용량(20MB)을 초과합니다!<br>파일 크기를 체크해주세요! ');
history.go(-1)
</script>
");
exit;
}
if (!move_uploaded_file($upfile_tmp_name, $uploaded_file) )
{
echo("
<script>
alert('파일을 지정한 디렉토리에 복사하는데 실패했습니다.');
history.go(-1)
</script>
");
exit;
}
}
$con = mysqli_connect("localhost", "user1", "12345", "testdb");
//DB 연결 후 한글코드 세팅
mysqli_set_charset($con, 'utf8');
$sql = "update uploadnovel set title_name='$new_title_name', genre='$genre' , upfile_name='$upfile_name', upfile_type='$upfile_type', file_copied='$file_copied', introduction='$introduction', where id='$id' AND title_name='$old_title_name'";
mysqli_query($con, $sql);
mysqli_close($con);
echo "
<script>
location.href = 'test.php';
</script>
";
?>
php.ini를 건들여서 오류는 안나지만 적용이 되지 않습니다... ㅠㅠ
답변 3
sql문을echo로 찍어서 실제 dbms에서 phpmyadmin에서 쿼리를 날려보세요
500에러가 아닌이상 아마 쿼리의 문법오류일 확률이 높습니다.
php.ini 다시 수정해서 오류 나오게 하는게 좋아보여요 ㅠ
심플한 소스지만 오류찾기 힘들답니다.
거의 쿼리문 오류일거같지만
어떤부분이 문제인지 딱 바로 나와서 해결하는거랑..
어떤부분이 문제인지 몰라 중강중간 echo 문찍어서 디버깅하는거랑
진짜 천지차이에요~~
일단 이부분은 sql문 echo로 찍고 그리고 예외처리~~해보세요
해당 소스에는 $id, $file_copied 변수설정이 잘못된것같습니다.
큐어리에서 $id, $file_copied 변수값 설정하는 부분 정확히 체크해보시죠.
혹시 $id는 $userid로, $file_copied는 $copied_file_name로 대체해야 하지 않는지?