··조회 12,504
뭐가 잘못되었는지 도저히...(sql 구문에 오류)
list.php를 직접 보고 따라 만들어 봤는데..실행시키니까
'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('' 명령어 라인 1)
이렇게 나옵니다...저로썬 3시간똥안 두파일을 비교 해 봤지만..어느 부분이 틀린 건지..모르겠습니다...아...이해는 되는데...아 미치겠다...역시 프로그래밍은 어려운건인가보다...
<?
//DB에 연결하는 부분입니다. 항성 반복되는 부분이니 암기!!
mysql_connect("localhost","phpbbs","phpbbs") or die (mysql_error());
mysql_select_db("itmembers");
//게시판 목록보기에 필요한 각종 변수 초기값을 설정합니다
$table="bbs";
if($page=='') $page = 1;//페이지 번호가 없으면 1
$list_num=10;// 한페이지에 보여줄 목록 갯수
$page_num=10;// 한 화면에 보여줄 페이지 링크(묶음)갯수
$offset=$list_num*($page-1);//한페이지의 시작 글번호
//전체 글 수를 구합니다.
$query="select count(*) from $tablename"; //sql 쿼리문을 문자열 변수에 일단저장하고
$result=mysql_query($query) or die(mysql_error());//위의 쿼리문을 실제로 실행하여 결과를 result에 대입
$row=mysql_fetch_row($result);//위 결과값을 하나하나 배열로 저장합니다.
$total_no=$row[0];//배열의 첫번째 요소의 값, 즉 테이블의 전체 글 수를 저장합니다.
//전체 페이지수와 현재 글 번호를 구합니다.
$total_page=ceil($total_no/$list_num);//전체글수를 페이지당 글수로 나눈 값의 올림 값을 구합니다.
$cur_num=$total_no-$list_num*($page-1);//현재의 글번호
//bbs 테이블에서 목록을 가져옵니다.(위의 쿼리문 사용예와 비슷함)
$query="select * from $tablename order by number desc limit $offset, $list_num"; //sql 쿼리문
$result=mysql_query($query) or die (mysql_error());
//쿼리 결과를 하나씩 불러와 실제 html에 나타내는 것은 html 문 중간에 삽입한다.
?>
<html>
<head>
<meta http-equiv=content-type content=text/html; charset=euc-kr>
<title>글목록보기</title>
<style type=text/css>
body,td,select,input,div,form,textarea,center,option,pre,blockquote {font-family:굴림;font-size:9pt;color:#555555;}
A:link{color:black;text-decoration:none;}
A:visited{color:black;text-decoration:none;}
A:active{color:black;text-decoration:none;}
A:hover {color:gray;text-decoration:none;}
</style>
</head>
<body background=./images/boy_bg.gif>
<img src=./images/maintitle.gif>
<table border=1 cellspacing=0 width=680 bordercolordark=white bordercolorlight=#999999>
<tr>
<td width=30 bgcolor=#cccccc>
<p align=center>no</p>
</td>
<td bgcolor=#cccccc width=490>
<p align=center >subject</p>
</td>
<td width=60 bgcolor=#cccccc>
<p align=center>name</p>
</td>
<td width=70 bgcolor=#cccccc>
<p align=center >date</p>
</td>
<td width=30 bgcolor=#cccccc>
<p align=center >hit</p>
</td>
</tr>
<?
while ($array=mysql_fetch_array($result)) {
$date=date("Y/m/d",$array[writetime]);//글쓴시각을 Y/m/d 형식에 맞게 문자열로 바꿉니다.
echo "
<tr>
<td width=30>
<p align=center>$cur_num</P>
</td>
<td width=490>
<p> $array[subject]</p>
</td>
<td width=60>
<p align=center>$array[name]</p>
</td>
<td width=70>
<p align=center>$date</p>
</td>
<td width=30>
<p align=center>$array[count]</p>
</td>
</tr>";
$cur_num --;
}
?>
<tr>
<td width=100% colspan=5>
<?
//여기서부터 각종 페이지 링크
//먼저, 한 화면에 보이는 블록($page_num 기본값 이상일때 블록으로 나누어짐)
$total_block=ceil($total_page/$page_num);
$block=ceil($page/$page_num);//현재블록
$first=($block-1)*$page_num;//페이지 블록이 시작하는 첫페이지
$last=$block*$page_num;//페이지 블록의 끝페이지
if($block>=$total_block) {
$last=$total_page;
}
echo "
<p align=center>";
//[처음][*개앞]
if($block>1) {
$prev=$first-1;
echo " <a href='list.php?page=1'>[처음]</a> ";
echo "<a href='list.php?page=$prev'>[$page_num개 앞]</a>";
}
//[이전]
if($page>1) {
$go_page=$page-1;
echo " <a href='list.php?page=$go_page'>[이전]</a> ";
}
//페이지 링크
for($page_link=$first+1;$page_link<=$last;$page_link++) {
if($page_link==$page) {
echo "<font color=green><b>$page_link</b></font>";
}
else {
echo "<a href='list.php?page=page_link'>[$page_link]</a>";
}
}
//다음
if($total_page>$page) {
$go_page=$page+1;
echo " <a href='list.php?page=$go_page'>[다음]</a>";
}
//[*개뒤][마지막]
if($block<$total_block) {
$next=$last+1;
echo "<a href='list.php?page=$next'>[$page_num 개 뒤]</a> ";
echo "<a href='list.php?page=$total_page'>[마지막]</a></p>";
}
?>
</td>
</tr>
<tr>
<td width=100% colspan=5>
<p align=cener><a href='write.php'>[글쓰기]</a></p>
</td>
</tr>
</table>
</body>
</html>
'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('' 명령어 라인 1)
이렇게 나옵니다...저로썬 3시간똥안 두파일을 비교 해 봤지만..어느 부분이 틀린 건지..모르겠습니다...아...이해는 되는데...아 미치겠다...역시 프로그래밍은 어려운건인가보다...
<?
//DB에 연결하는 부분입니다. 항성 반복되는 부분이니 암기!!
mysql_connect("localhost","phpbbs","phpbbs") or die (mysql_error());
mysql_select_db("itmembers");
//게시판 목록보기에 필요한 각종 변수 초기값을 설정합니다
$table="bbs";
if($page=='') $page = 1;//페이지 번호가 없으면 1
$list_num=10;// 한페이지에 보여줄 목록 갯수
$page_num=10;// 한 화면에 보여줄 페이지 링크(묶음)갯수
$offset=$list_num*($page-1);//한페이지의 시작 글번호
//전체 글 수를 구합니다.
$query="select count(*) from $tablename"; //sql 쿼리문을 문자열 변수에 일단저장하고
$result=mysql_query($query) or die(mysql_error());//위의 쿼리문을 실제로 실행하여 결과를 result에 대입
$row=mysql_fetch_row($result);//위 결과값을 하나하나 배열로 저장합니다.
$total_no=$row[0];//배열의 첫번째 요소의 값, 즉 테이블의 전체 글 수를 저장합니다.
//전체 페이지수와 현재 글 번호를 구합니다.
$total_page=ceil($total_no/$list_num);//전체글수를 페이지당 글수로 나눈 값의 올림 값을 구합니다.
$cur_num=$total_no-$list_num*($page-1);//현재의 글번호
//bbs 테이블에서 목록을 가져옵니다.(위의 쿼리문 사용예와 비슷함)
$query="select * from $tablename order by number desc limit $offset, $list_num"; //sql 쿼리문
$result=mysql_query($query) or die (mysql_error());
//쿼리 결과를 하나씩 불러와 실제 html에 나타내는 것은 html 문 중간에 삽입한다.
?>
<html>
<head>
<meta http-equiv=content-type content=text/html; charset=euc-kr>
<title>글목록보기</title>
<style type=text/css>
body,td,select,input,div,form,textarea,center,option,pre,blockquote {font-family:굴림;font-size:9pt;color:#555555;}
A:link{color:black;text-decoration:none;}
A:visited{color:black;text-decoration:none;}
A:active{color:black;text-decoration:none;}
A:hover {color:gray;text-decoration:none;}
</style>
</head>
<body background=./images/boy_bg.gif>
<img src=./images/maintitle.gif>
<table border=1 cellspacing=0 width=680 bordercolordark=white bordercolorlight=#999999>
<tr>
<td width=30 bgcolor=#cccccc>
<p align=center>no</p>
</td>
<td bgcolor=#cccccc width=490>
<p align=center >subject</p>
</td>
<td width=60 bgcolor=#cccccc>
<p align=center>name</p>
</td>
<td width=70 bgcolor=#cccccc>
<p align=center >date</p>
</td>
<td width=30 bgcolor=#cccccc>
<p align=center >hit</p>
</td>
</tr>
<?
while ($array=mysql_fetch_array($result)) {
$date=date("Y/m/d",$array[writetime]);//글쓴시각을 Y/m/d 형식에 맞게 문자열로 바꿉니다.
echo "
<tr>
<td width=30>
<p align=center>$cur_num</P>
</td>
<td width=490>
<p> $array[subject]</p>
</td>
<td width=60>
<p align=center>$array[name]</p>
</td>
<td width=70>
<p align=center>$date</p>
</td>
<td width=30>
<p align=center>$array[count]</p>
</td>
</tr>";
$cur_num --;
}
?>
<tr>
<td width=100% colspan=5>
<?
//여기서부터 각종 페이지 링크
//먼저, 한 화면에 보이는 블록($page_num 기본값 이상일때 블록으로 나누어짐)
$total_block=ceil($total_page/$page_num);
$block=ceil($page/$page_num);//현재블록
$first=($block-1)*$page_num;//페이지 블록이 시작하는 첫페이지
$last=$block*$page_num;//페이지 블록의 끝페이지
if($block>=$total_block) {
$last=$total_page;
}
echo "
<p align=center>";
//[처음][*개앞]
if($block>1) {
$prev=$first-1;
echo " <a href='list.php?page=1'>[처음]</a> ";
echo "<a href='list.php?page=$prev'>[$page_num개 앞]</a>";
}
//[이전]
if($page>1) {
$go_page=$page-1;
echo " <a href='list.php?page=$go_page'>[이전]</a> ";
}
//페이지 링크
for($page_link=$first+1;$page_link<=$last;$page_link++) {
if($page_link==$page) {
echo "<font color=green><b>$page_link</b></font>";
}
else {
echo "<a href='list.php?page=page_link'>[$page_link]</a>";
}
}
//다음
if($total_page>$page) {
$go_page=$page+1;
echo " <a href='list.php?page=$go_page'>[다음]</a>";
}
//[*개뒤][마지막]
if($block<$total_block) {
$next=$last+1;
echo "<a href='list.php?page=$next'>[$page_num 개 뒤]</a> ";
echo "<a href='list.php?page=$total_page'>[마지막]</a></p>";
}
?>
</td>
</tr>
<tr>
<td width=100% colspan=5>
<p align=cener><a href='write.php'>[글쓰기]</a></p>
</td>
</tr>
</table>
</body>
</html>
댓글 1