위에서 언급했듯이 SELECT 쿼리(및 다른 유사한 유형 몇 가지)를 실행하면 mysqli_result 개체가 반환됩니다. 데이터베이스에서 행 데이터 자체를 가져오려면 해당 데이터를 가져오는 추가 단계가 필요합니다. mysqli_fetch_assoc을 사용 하 여 ussqli_fetch_assoc 관련 된 배열로 mysqli_resultobject에서 행을 검색 합니다-배열 인덱스 데이터베이스에서 열 이름이 될 것입니다. 위의 예제에서 상수 MYSQL_ASSOC는 mysql_fetch_array()에 대한 두 번째 인수로 사용되므로 행을 연관 배열로 반환합니다. 연관 배열을 사용하면 인덱스를 사용하는 대신 해당 이름을 사용하여 필드에 액세스할 수 있습니다. 거기에 하나의 작은 주름을 추가했습니다 – $connection 정적 변수로 정의하여 db_connect()에 대한 함수 호출 사이에 상태가 유지된다는 것을 의미합니다. 이렇게 하면 데이터베이스에 한 번만 연결한 다음 이후 함수 호출에서 연결을 반환할 수 있습니다. 이전 mysql_connect()에서는 MySQL에서 연결이 전 세계적으로 유지됩니다. 데이터베이스를 쿼리해야 할 때마다 연결을 설정하지 않도록 하려면 여기서 이러한 동작을 에뮬레이트합니다. 다음은 직원 테이블에서 레코드를 가져오는 간단한 예제입니다. PHP는 mysql_fetch_assoc()라는 또 다른 함수를 제공하며, 이 함수는 행을 연관 배열로 반환합니다. 설치 세부 정보는 http://php.net/manual/en/mysqli.installation.php PDO(PHP 데이터 개체)를 사용하여 데이터베이스에 연결합니다.

다른 주요 옵션은 MySQLi입니다. 둘 사이의 중요한 차이점은 PDO를 사용하여 원하는 수의 데이터베이스에 연결할 수 있으며 mysqli 코드는 MySQL에서만 작동한다는 것입니다. MySQL 데이터베이스를 사용 하지만 PDO는 나중에 더 확장 가능 하 고 일반적으로 새 프로젝트에 대 한 선호 하는 선택. 그래서 그 연결을 만들어 보자. Chrome에서는 더 이상 .dev 로컬 호스트 도메인을 허용하지 않습니다. .dev 대신 .dev를 사용하는 것이 좋습니다. mysql_fetch_assoc() 함수를 사용하여 직원 테이블의 모든 레코드를 표시하려면 다음 예제를 사용해 보십시오. 프로세스를 단계별로 중단하고 위의 예제에서 개선할 수 있는 방법을 살펴보겠습니다.

먼저 모든 예제에서 사용할 테이블을 만들어 보겠습니다. 각 SELECT 문의 끝에 커서 메모리를 해제 하는 것이 좋습니다. 이 작업은 PHP 함수 mysql_free_result()를 사용하여 수행할 수 있습니다. 다음은 사용 방법을 보여 줄 예제입니다. PHP 함수 mysql_query를 통해 SQL SELECT 문을 실행하여 MySQL 테이블에서 데이터를 가져올 수 있습니다.

php mysql 예제