데이터베이스에서 조회한 결과를 배열로 받을 때 mysqli_fetch_array()를 쓰는 개발자가 많다. 다만 대부분은 세 번째 매개변수(fetch_mode)가 뭔지, 왜 있는지 모르고 그냥 기본값으로 방치한다. 결과적으로 배열에서 값을 꺼낼 때 숫자 인덱스로도, 컬럼명으로도 접근할 수 있어서 혼동하거나, 불필요한 메모리를 낭비하거나, 코드의 의도가 불명···
MySQL 8.0으로 업그레이드하거나 서버를 변경한 후 PHP에서 데이터베이스 연결을 시도하면 갑자기 'Client does not support authentication protocol' 에러가 떨어진다. 다만 정확히 뭐가 문제인지, 왜 갑자기 안 되는지 모르는 개발자가 대부분이다. 이번에는 MySQL 8.0의 기본 인증 방식 변화가 뭔지, 왜 이 에러···