web-게시판 만들기

2025. 6. 23. 17:09·WEB

mysqli_fetch_array

배열 형태로 질의의 결과값을 가져오는 함수이다

한 줄의 데이터만 가져올 수 있다

첫번째 데에터만 가져온다

 

또다른 특징

같은 sql문을 질의하여 여러번의 결과값을 가져오는 경우 다음 행의 데이터를 가져온다

첫번째 mysqli_fetch_array -> 첫번째 데이터 가져옴

두번째 mysqli_fetch_array 치면 -> 두번째 데이터를 가져옴

 

mysqli_fetch_array가 배열형태로 가져오니까 한번에 여러줄을 가져올 수는 없다

 

   $strSQL="select * from board";
    $rs=mysqli_query($conn,$strSQL);
    $rs_arr=mysqli_fetch_array($rs);

 

그렇다면 어떻게 해야할까?

반복문을 작성해주면 된다.

 while($rs_arr=mysqli_fetch_array($rs)) {
    $b_num=$rs_arr["strNumber"];
    $b_sub=$rs_arr["strSubject"];
    $b_name=$rs_arr["strName"];
    $b_date=$rs_arr["writeDate"];
    $b_no=$rs_arr["viewCount"];
                        ?>
                        <tr>
                                 <td width="7%"><font size="2"> <?= $b_num;?></font></td>
                                 <td width="41%"><font size="3"><a href="board_view.php?num=<?=$b_num;?>"><?= $b_sub;?></a></font></td>
                                 <td width="15%"><font size="3"><?= $b_name;?></font></td>
                                 <td width="30%"><font size="1"><?= $b_date;?></font></td>
                                 <td width="7%"><font size="2"><?= $b_no;?></font></td>
                        </tr>
                         
                        <?php    } ?>
                        </table>
                        <br/>

반복해서 질의 할 수 있도록 위처럼 작성한다.

   $rs_num=mysqli_num_rows($rs);

행의 갯수를 가져오는 함수

sql문을 입력했을 때 결과의 행의 갯수를 알려준다


php.ini에 들어가서 198번째 줄 on을 바꿔주면 <?php echo ?> 이렇게 쓰던 것을 <?= ?>이렇게 써줄 수 있게 된다.

 

      <td width="7%"><font size="2"> <?= $b_num;?></font></td>
                                 <td width="41%"><font size="3"> <?= $b_sub;?></font></td>
                                 <td width="15%"><font size="3"><?= $b_name;?></font></td>
                                 <td width="30%"><font size="1"><?= $b_date;?></font></td>
                                 <td width="7%"><font size="2"><?= $b_no;?></font></td>

내용이 기니까 저 기능을 켜주면 작성이 편해진다

 

 

 

조회수 출력하는 코드

내용 출력하는 코드

 

 

input할 때 버튼과 서브밋 차이는

버튼으로 해야 아무것도 입력안 했을 때는 어떻게 동작할 지 결정할 수 있다

만약 submit으로 했다면 비밀번호를 입력하지 않았을 때도 그냥 제출한다

 

 

<form name="wform" action="board_write_ok.php" method="POST" enctype="multipart/form-data">

 

파일 첨부를 할 때는 enctype을 결정해줘야 한다

$_FILES

$_FILES['userfile']['type'] 

파일을 첨부할 때 쓰는 슈퍼글로벌변수이다

att_file은 form이 있는 php파일에서 name을 설정한 값이다

$f_error=$_FILES["att_file"]["error"];

//file 오류코드
// 0: 성공
// 1: php.ini에서 설정한 파일 최대 크기 보다 큰 경우 error
//2: html에서 설정한 파일 최대 크기보다 큰 경우 error
//3: file some of part error 일부분만 전송되어 error
//4: file can not send -> 첨부파일이 없는 경우
//6: 임시 folder 없음 파일이 전송되는 도중 저장되는 위치나 폴더가 없어졌을 때
//7: 저장장치에 파일 쓰기를 실패하는 경우
//8: 확장이나 추가설정에 의해 파일 업로드 중지

 

0,4를 제외하고 전부 error

 

 

파일이 0일때는 성공인데 만약 사이즈가 비어있다면 0으로 채워라 (오류가 날 경우를 방지하기 위해)

 

$f_rs=move_upload_file은 php에서 제공하는 파일을 업로드하는 코드

파일의 임시 이름과 지정된 저장경로를 저장해라

 

if($f_error == 0){
    $f_name=$_FILES["att_file"]["name"];
    $f_path="upload/".$f_name;
    $f_tmp=$_FILES["att_file"]["tmp_name"];
    $f_size=$_FILES["att_file"]["size"];

 

0-> 파일 업로드 성공

파일 이름,경로,임시파일,사이즈를 정의

 

 

$f_name_only1=substr($f_name,0,strrpos($f_name,'.'));

 

f_name을 0을 기준으로 substr(자른다)

strrpos는 .을 기준으로

ex. text.txt

text만 저장

$f_name_ext=substr($f_name,strrpos($f_name,'.'));

6글자 이후부터 자른다는 의미

 

ex .txt만 저장

점부터 txt까지

 

for($i=1; is_file($f_path); $i++){ 

해당 경로에 파일이 있는지 없는지 확인

해당 경로에 파일이 있으면 실행하겠다

없으면 실행하지 않겠다

 is_file($f_path)

-> 조건문

실행할 때마다 i에 1씩 증가하겠다.

 

//같은 이름의 파일이 있을 경우 이름 뒤에 숫자 붙이는 코드
    $f_name_only1=substr($f_name,0,strrpos($f_name,'.')); //파일 이름 중 확장자를 제외한 이름만 저장
$f_name_ext=substr($f_name,strrpos($f_name,'.')); //파일 이름 중 확장자만 저장
$f_name_only2=$f_name_only1; //1에 저장된 파일 이름을 2에 저장
for($i=1; is_file($f_path); $i++){ //해당 경로에 같은 파일이 있으면 반복문 실행 -> 실행할 때마다 i변수의 숫자가 1씩 중가
    $f_name_only1=$f_name_only2.$i; //파일 이름 뒤에 i변수 안에 숫자를 붙여서 변수에 저장
    $f_path="./upload/".$f_name_only1.$f_name_ext; //파일 경로 재설정

}
$f_name=$f_name_only1.$f_name_ext; //바뀐 파일의 이름과 확장자를 원본 데이터에 저장

 

htmlspecialchars() 함수는 HTML 특수문자를 변환하여 HTML 코드로 해석되지 않게 만든다

 $b_cont = htmlspecialchars($b_cont);

 

저작자표시 비영리 변경금지 (새창열림)

'WEB' 카테고리의 다른 글

web hacking  (0) 2025.06.26
web -파일 file  (0) 2025.06.24
회원가입 php , javascript  (0) 2025.06.23
로그인 php & 로그아웃 php  (3) 2025.06.19
HTML 기초 - tag  (2) 2025.06.19
'WEB' 카테고리의 다른 글
  • web hacking
  • web -파일 file
  • 회원가입 php , javascript
  • 로그인 php & 로그아웃 php
햅삐root
햅삐root
happyroot 님의 블로그 입니다. IT 보안 정리💛
  • 햅삐root
    햅삐한 root
    햅삐root
  • 전체
    오늘
    어제
    • 전체보기 IT (123)
      • Linux (21)
      • Network (23)
      • packet tracer& GNS3 (10)
      • Cryptology (7)
      • WEB (16)
      • DB (16)
      • Hacking (28)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    injectionvector
    Hack
    sqlinjection
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
햅삐root
web-게시판 만들기
상단으로

티스토리툴바