테스트 사이트 - 개발 중인 베타 버전입니다

php7에서 채택완료

역같아들어가니 7년 전 조회 1,951

https://sir.kr/g4_tiptech/10520 

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

 

여러 필드를 하나의 분할 필드에 합치는거요

그래서 검색해보니 

 

i를 붙여야 한다고 해서 아래처럼 i를 붙이니 에러는 안나는데

정작 필드가 합쳐지지 않네요,,,

 

php5버전에서는 잘되었는데...

 

<? 
// db연결 접속자 

$host = 'localhost'; //호스트 
$user = '디비명'; 
$password = '비번'; 
$db = '계정명'; 

$con = mysqli_connect($host, $user ,$password); 
mysqli_select_db($db,$con); 


$sql = " select wr_id,wr_228,wr_52,wr_55 from g5_write_order order by wr_id asc "; 
$result = mysqli_query($sql); 
for($i=0;$i<$row=mysqli_fetch_array($result);$i++) { 
    $temp = $row[wr_228]."|".$row[wr_52]."|".$row[wr_55]; 
    $sql = " update g5_write_order set wr_380 = '$temp' where wr_id = '$row[wr_id]' "; 
    mysqli_query($sql); 

?> 

 

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

답변 3개

채택된 답변
+20 포인트
7년 전

<?php 아래에

include_once('_common.php'); // 이건 만들거나 해서 적당한 폴더에 넣으셔야겠죠?

 

그리고 위 해피정님의 소스 즉, 그누보드의 함수를 사용하여 

$sql = " select wr_id,wr_228,wr_52,wr_55 from g5_write_order order by wr_id asc "; 
$result = sql_query($sql); 
for($i=0;$row=sql_fetch_array($result);$i++)
    $temp = $row['wr_228']."|".$row['wr_52']."|".$row['wr_55']; 
    $sql = " update g5_write_order set wr_380 = '{$temp}' where wr_id = '{$row['wr_id']}' "; 
    sql_query($sql); 

 

위 소스로 시도해 보시죠.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

역같아들어가니
7년 전
아 잘됩니다. 너무 감사합니다~

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

7년 전

 이미 채택 된 질문이지만...

 

mysqli_select_db($con, $db); <------- 이 부분에서 잘못되었죠. 디비명이 뒤로

 

그리고 간단히 한줄로 가능한 일을 저렇게 query하고 loop돌리고 할 필요없습니다

 mysqli_query($con, "update g5_write_order set wr_380 = CONCAT_WS('|', wr_228, wr_52, wr_55) ");

 

그누보드를 이용한 페이지에선 디비접속 저런건 필요없고

<?

include "경로/common.php";

sql_query("update g5_write_order set wr_380 = CONCAT_WS('|', wr_228, wr_52, wr_55) ");

?>

 

 

로그인 후 평가할 수 있습니다

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

해피정
7년 전

http://www.happyjung.com/lecture/301  요거 참고하세요

 

<?php
// db연결 접속자 

$host = 'localhost'; //호스트 
$user = '디비명'; 
$password = '비번'; 
$db = '계정명'; 

$con = mysqli_connect($host, $user ,$password, $db); 


$sql = " select wr_id,wr_228,wr_52,wr_55 from g5_write_order order by wr_id asc "; 
$result = mysqli_query($con, $sql); 
for($i=0;$i<$row=mysqli_fetch_array($result);$i++) { 
    $temp = $row['wr_228']."|".$row['wr_52']."|".$row['wr_55']; 
    $sql = " update g5_write_order set wr_380 = '{$temp}' where wr_id = '{$row['wr_id']}' "; 
    mysqli_query($sql); 

?> 


그누보드5는 mysql과 mysqli 모드 common.lib.php 에서 처리되어 있으므로

변경없이 사용 가능합니다.


<?php
$sql = " select wr_id,wr_228,wr_52,wr_55 from g5_write_order order by wr_id asc "; 
$result = sql_query($sql); 
for($i=0;$i<$row=sql_fetch_array($result);$i++) { 
    $temp = $row['wr_228']."|".$row['wr_52']."|".$row['wr_55']; 
    $sql = " update g5_write_order set wr_380 = '{$temp}' where wr_id = '{$row['wr_id']}' "; 
    sql_query($sql); 

?> 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

역같아들어가니
7년 전
감사합니다만 위에 코드로 했는데 합쳐지지 않아요...
아래코드는 애러나구요
역같아들어가니
7년 전
감사합니다 도움이 많이 되었습니다.

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

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

로그인