채택완료

코드 좀 봐주십시오

2018-01-31 (수) 21:28:06 2,158

php7에서 필드 추가하는 코드가 

Failed to load resource: the server responded with a status of 500 () 에러 뜹니다.

php5에서는 잘 되었거든요,,,

<?
$sub_menu = "100950";
include_once("./_common.php");

auth_check($auth[$sub_menu], "r");

$g5[title] = "필드추가";
include_once("./admin.head.php");

if($is_admin){


if($nfor_cnt and $nfor_table){


    $result3=mysql_query("select * from g5_write_".$nfor_table); 
    $field_count=mysql_num_fields($result3); 
    $last_field_name=mysql_field_name($result3,$field_count-1); 

    $fname = explode("_",$last_field_name);

    
    echo $fname[1]+$nfor_cnt;

    for($i=$fname[1]+1; $i<$fname[1]+$nfor_cnt+1; $i++){
        sql_fetch(" alter table g5_write_".$nfor_table." add wr_".$i." text "); 
    }

    alert("성공적으로 추가되었습니다.","add.php");


} else{

?>
<FORM METHOD=POST ACTION="add.php">
<TABLE>
<TR>
    <TD>게시판</TD>
    <TD><select name="nfor_table">
<?
$sql = " select bo_table, bo_subject from $g5[board_table] order by gr_id, bo_table ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {


$result2=mysql_query("select * from g5_write_".$row[bo_table]); 
$field_count=mysql_num_fields($result2); 
$last_field_name=mysql_field_name($result2,$field_count-1); 

?>
<option value="<?=$row['bo_table']?>"><?=$row['bo_subject']?>(<?=$row['bo_table']?>) <?=$last_field_name?>다음부터
<? } ?>
</select></TD>
</TR>
<TR>
    <TD>추가될 필드수</TD>
    <TD><INPUT TYPE="text" NAME="nfor_cnt" size="4">개</TD>
</TR>
<TR>
    <TD colspan=2><INPUT TYPE="submit" value="추가하기"></TD>
</TR>
</TABLE>


</FORM>
<?
}

}

include_once("./admin.tail.php");
?> 
 

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

아래와 같이 변경해야 합니다.

mysql_query  >  mysqli_query
mysql_num_fields   >   mysqli_num_fields

그누보드에 적용된 코드라면 아래와 같이 변경해도 정상 작동합니다.

mysql_query  >  sql_query
mysql_num_fields   >   sql_num_fields

PHP 4, PHP 5
mysql_query  http://php.net/manual/en/function.mysql-query.php
mysql_num_fields   http://php.net/manual/en/function.mysql-num-fields.php

PHP 5, PHP 7
mysqli_query  http://php.net/manual/en/mysqli.query.php
mysqli_num_fields   http://php.net/manual/en/mysqli-result.field-count.php

답변에 대한 댓글 2개

2018-01-31 (수) 21:50:46
답변감사드려요,,,


그누보드에 적용된 코드라면 아래와 같이 변경하면 정상 작동합니다.

mysql_query > sql_query
mysql_num_fields > sql_num_fields 이렇게는 해보았거든요,,근데 이상하게
추가버튼 셀렉트가 먹통으로 움직이지 않거든요,,
<select name="nfor_table"> 를 <!--select name="nfor_table"--> 이렇게 변경해서 자료가 어떻게 추출되는지 확인해보세요.

아래와 같이 변경해보세요
<select name="nfor_table">
<?php
$sql_select = " select bo_table, bo_subject from {$g5['board_table']} order by gr_id, bo_table ";
$result_select = sql_query($sql_select);
for ($i=0; $row_select=sql_fetch_array($result_select); $i++) {


$result_select2=sql_query("select * from g5_write_".$row_select['bo_table']);
$field_count=sql_num_fields($result_select2);
$last_field_name=sql_field_name($result_select2,$field_count-1);

?>

<?

이렇게 된 문장을

<?php 

로 변경하시고

<?= 로 된걸

<?php echo 

로 변경하세요

답변을 작성하려면 로그인이 필요합니다.