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개
아래와 같이 변경해야 합니다.
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개
아래와 같이 변경해보세요
<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
로 변경하세요
답변을 작성하려면 로그인이 필요합니다.
그누보드에 적용된 코드라면 아래와 같이 변경하면 정상 작동합니다.
mysql_query > sql_query
mysql_num_fields > sql_num_fields 이렇게는 해보았거든요,,근데 이상하게
추가버튼 셀렉트가 먹통으로 움직이지 않거든요,,