관리 메뉴

나만을 위한 블로그

[PHP] phpmyadmin에서 count(): Parameter must be an array or an object that implements Countable 에러 해결 본문

PHP

[PHP] phpmyadmin에서 count(): Parameter must be an array or an object that implements Countable 에러 해결

참깨빵위에참깨빵 2020. 12. 12. 02:49
728x90
반응형

phpmyadmin을 연동해서 즐거운 마음으로 DB를 만들고 테이블을 하나 만들었는데 갑자기 아래로 스크롤이 이동하면서 빨간 배경의 에러 문구들이 나오는 경우가 있다.

그리고 에러 문구는 제목처럼 count(): Parameter must be an array or an object that implements Countable인 경우가 있다.

 

이 에러는 생각보다 쉽게 해결할 수 있다. 하도 많이 나오는 에러인지 스택오버플로우에도 추천수가 1,000이나 되는 답변글이 달려있다.

먼저 Putty나 다른 SFTP 툴을 사용해서 서버에 연결한 뒤, sudo su 같은 명령어를 입력해 루트 계정으로 전환한다.

그 다음 vi /usr/share/phpmyadmin/libraries/sql.lib.php을 입력한다. vi는 리눅스의 에디터 툴을 부르는 명령어인데 vi말고도 vim, nano같은 여러 명령어가 있으니 마음에 드는 걸 쓰자.

명령어를 쓰기 전에 각 에디터의 명령어를 모른다면 미리 확인하고 오길 바란다.

 

저 명령어를 치고 /를 누른 다음 ((empty($analy만 입력해본다. 그러면 커서가 어딘가로 이동하면서 이런 화면이 나올 것이다.

 

 

빨간색 네모 부분이 되도록 'select_expr'을 감싼 대괄호의 오른쪽에 닫는 소괄호를 추가하고, 그 아래줄의 '*' 오른쪽에 있는 닫는 소괄호 3개 중 하나를 지워준다.

그 다음 ":wq"를 눌러 저장하고 종료한 뒤, sudo service apache2 restart를 통해 웹 서버를 재시작한다.

마지막으로 phpmyadmin에 로그인한다. 이미 로그인 중이었다면 로그아웃한 뒤 재로그인하면 된다.

그러면 에러가 사라져있는 걸 볼 수 있다. 간단하게 해결할 수 있는 에러다.

 

 

요약

 

- sudo su

- vi /usr/share/phpmyadmin/libraries/sql.lib.php 입력

- "/((empry[$analy"만 입력 후 빨간 네모 부분이 되도록 코드 수정한 뒤 저장 후 종료

- phpmyadmin 로그인 또는 로그아웃 후 재로그인

반응형
Comments