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

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

QA

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

답변 1

본문

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

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];
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 2
© SIRSOFT
현재 페이지 제일 처음으로