mysqli 변경중인 프로그램 오류가 ...

mysqli 변경중인 프로그램 오류가 ...

QA

mysqli 변경중인 프로그램 오류가 ...

본문

그누보드 질문은 아니구요.

mysql 개발된 프로그램을  mysqli 로 교체하는 작업 진행중입니다.

서버에 mysql 5.5 이상이 설치된 관계로 하나씩 찾아가며 수정하는데 머리가 아프네요.

 

 

 

Warning: preg_match(): Unknown modifier '+' in /home/test/www/bbs/list_main.php on line 14
Fatal error: Uncaught Error: Call to undefined function mysql_result() in /home1/dhjb3/www/bbs/list_main.php:26 Stack trace: #0 /home/test/www/bbs/list.php(43): include() #1 {main} thrown in /home/test/www/bbs/list_main.php on line 26

 

소스코드는 다음과 같고 문제되는 코드를 색깔로 변경했습니다.

 

if (!preg_match("[^[:space:]]+",$key)) {
    $query ="select count(uid) from {$table_name} where name='{$name}'";
} else {
    $encoded_key=urlencode($key);
    $query="select count(uid) from {$table_name} where {$keyfield} LIKE '%{$key}%'";
}
//echo $query;
$result = mysqli_query($dbconn,$query);
if(!$result) {
    error("QUERY_ERROR");
    exit;
}
$total_record = mysql_result($result,0,0);

 

 

preg_match 는 원래  eregi  가 사용중이었던것을 변경했으나, 에러가 여전히 발생하고

mysql_result 는 mysql 5.5 이후에는 사라진 함수더군요.

어떻게 변경해야 문제를 해결 할 수 있을까요?

이 질문에 댓글 쓰기 :

답변 1

preg_match 부분은 정확히 어떤 동작을 원하시는건지 몰라서 문법 오류만 잡아보면.. (공백문자 아닌게 있나 없나 검사하는거 같긴 한데요..) 아래처럼 바꾸시면 될것 같습니다.


if(!preg_match("/[^[:space:]]+/",$key) {
// 또는 if(!preg_match("/[^\s]+/",$key) {
...

 

mysql_result 부분은 아래처럼 mysqli_fetch_array 함수를 사용하면 될것 같습니다.


// $total_record = mysql_result($result,0,0);
$row = mysqli_fetch_array($result);
$total_record = $row[0];
답변을 작성하시기 전에 로그인 해주세요.
전체 123,471 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT