> 백엔드 개발 > PHP 튜토리얼 > Mysqli 기본 지식

Mysqli 기본 지식

WBOY
풀어 주다: 2016-08-08 09:20:58
원래의
810명이 탐색했습니다.

PHP를 배우기 시작했을 때 많은 사람들이 사용하는 데이터베이스는 MySQL이 첫 번째 선택이었고, 데이터베이스에 연결하는 확장은 MySQL 확장이 첫 번째 선택이었다고 생각합니다. 그러나 PHP 버전이 향상되면서. , MySQL 확장은 점차적으로 MySQL 및 PDO로 대체되고 있습니다. 더 이상 사용되지 않는 mysql 함수를 사용할 때 주어진 대로: mysql 확장은 더 이상 사용되지 않으며 향후 제거될 예정입니다. 대신 mysqli 또는 PDO를 사용하십시오. mysqli 확장을 배우는 것이 필수적입니다.

mysql 확장과 비교하여 mysqli 확장은 객체 지향 및 프로세스 지향 방법을 지원하고 전처리와 트랜잭션 처리를 지원하며 mysql보다 빠릅니다. 이 기사에서는 주로 mysqli의 기본적이고 간단한 객체지향 작업을 소개할 것입니다.

Mysqli 설치 구성

Mysqli 설치 구성은 다른 구성과 동일합니다. 먼저 php_mysqli.dll 파일이 php_mysqli.dll 파일이 있는지 확인하십시오. ext 폴더(일반적으로 존재함)를 삭제하고 php.ini 파일에서 "extension=php_mysqli.dll" 줄 앞의 ";"을 제거하고 extensi/span>

구성 파일에서 mysqli 확장이 활성화되었는지 확인하는 방법은 무엇입니까?

사실 가장 직접적인 방법은 mysqli 확장기능의 기능을 이용해 사용할 수 있는지 확인하는 것이다. 예를 들어 확장기능이 설치되었는지 여부로 판단할 수 있다. 데이터베이스에 연결할 수 있습니다. 물론 연결이 성공하면 당연히 설치가 되고, 연결이 실패하면 설치가 되지 않았다고 생각하지 마세요. phpinfo() 함수를 이용하면 mysqli 여부를 확실히 알 수 있습니다. 사용할 수 있습니다.

물론, mysqli 확장이 로드되었는지 확인하기 위해 Extension_loaded('mysqli')를 사용할 수 있고, get_loaded_extensions()를 통해 어떤 확장이 로드되었는지 확인할 수도 있습니다. http://php.net/manual/zh/mysqli.summary.php

를 참조하세요. 아래에서는 코드를 통해 mysqli의 사용을 설명하겠습니다. .

이 예에 사용된 테이블은 id와 title이라는 두 개의 필드가 있는 테스트 테이블입니다.

위의 코드는 단순히 mysqli를 사용하여 순회하지 않고 쿼리하는 방법을 보여줍니다. 쿼리 결과 집합을 사용하면 배열의 데이터를 검색하는 것이 어렵지 않아야 합니다.

$mysqli->query()에 의해 실행된 sql 문은

<span><?<span>php 
</span><span>//</span><span>配置文件完成相关配置</span><span>define</span>("HOST", "localhost"<span>);
</span><span>define</span>("USER", 'root'<span>);
</span><span>define</span>("PWD", ''<span>);
</span><span>define</span>("DB", 'yii'<span>);

</span><span>//</span><span>建立连接,生成mysqli实例对象。</span><span>$mysqli</span>=<span>new</span> Mysqli(HOST,USER,PWD,<span>DB);

</span><span>if</span> (<span>$mysqli</span>-><span>connect_errno) {
    </span>"Connect Error:".<span>$mysqli</span>-><span>connect_error;
}
</span><span>//</span><span>设置默认的字符集</span><span>$mysqli</span>->set_charset('utf8'<span>);
</span><span>$sql</span>="select * from test"<span>;
</span><span>//</span><span>生成mysql_result对象</span><span>$result</span>=<span>$mysqli</span>->query(<span>$sql</span><span>);

</span><span>//</span><span>返回二维关联数组,参数同理可以设定为MYSQLI_NUM返回索引数组,或者MYSQLI_BOTH二者兼有。</span><span>$rows</span>=<span>$result</span>-><span>fetch_all(MYSQLI_ASSOC);


</span><span>//</span><span>将结果指针调整到任意行</span><span>$result</span>->data_seek(2<span>);
</span><span>$row</span>=<span>$result</span>-><span>fetch_row();
</span><span>//</span><span>$row=$result->fetch_array();
//$row=$result->fetch_assoc();
//$row=$result->fetch_object();

//释放结果集</span><span>$result</span>-><span>free();
</span><span>//</span><span>$result->free_result();
//$result->close();

//关闭连接</span><span>$mysqli</span>->close();</span>
로그인 후 복사
SELECT, SHOW, DESCRIBE 또는

EXPLAIN 쿼리는 mysqli_result 객체를 반환하고, 다른 쿼리는 INSERT 수행 시 $mysqli->affected_rows를 호출하여 얻을 수 있는

을 반환합니다. , UPDATE 및 DELETE 작업 영향을 받은 레코드 수 $mysqli->affected_rows 반환 값 -1은 SQL 문에 문제가 있음을 나타내고, 0은 영향을 받은 레코드가 없음을 나타냅니다. 기타 값은 영향을 받은 레코드의 수입니다. TRUE,执行失败则都返回false。여러 개의 SQL 문 실행, 전처리, 트랜잭션 처리도 mysqli의 중요한 부분인데 이에 대해서는 나중에 에세이에서 쓰겠습니다.

ps: 기술 블로그를 처음 작성하다보니 이렇게 떨리나요? 부적절한 표현이 많지만 그래도 많은 의견 부탁드립니다~

이상에서는 Mysqli의 기본 지식을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿