PHP를 사용할 때 MySQL 대 MySQLi [닫힘]
PHPPHP를 사용할 때 MySQL 대 MySQLi [닫힘]
MySQL, MySQLi 중 어느 것이 더 낫습니까? 그리고 왜? 어느 것을 사용해야합니까?
성능면에서뿐만 아니라 다른 관련 기능도 더 좋습니다.
해결법
-
==============================
1.MySQL Improved Extension Overview를 보았다면, 두 버전의 차이점에 대해 알아야 할 모든 것을 알려줄 것입니다.
MySQL Improved Extension Overview를 보았다면, 두 버전의 차이점에 대해 알아야 할 모든 것을 알려줄 것입니다.
주요 유용한 기능은 다음과 같습니다.
-
==============================
2.mysql, mysqli 및 PDO 중에서 선택하는 데 도움이되는 매뉴얼 페이지가 있습니다.
mysql, mysqli 및 PDO 중에서 선택하는 데 도움이되는 매뉴얼 페이지가 있습니다.
PHP 팀은 새로운 개발을 위해 mysqli 또는 PDO_MySQL을 권장합니다.
또한 페이지에는 확장 API를 비교하는 기능 행렬이 있습니다. mysqli와 mysql API의 주요 차이점은 다음과 같다.
mysqli mysql Development Status Active Maintenance only Lifecycle Active Long Term Deprecation Announced* Recommended Yes No OOP API Yes No Asynchronous Queries Yes No Server-Side Prep. Statements Yes No Stored Procedures Yes No Multiple Statements Yes No Transactions Yes No MySQL 5.1+ functionality Yes No
* http://news.php.net/php.internals/53799
라이브러리 (new mysqlnd와 libmysql)를 비교하는 추가 기능 매트릭스가 있습니다.
매우 철저한 블로그 기사
-
==============================
3.나는 mysqli를 사용하여 버렸다. 단순히 너무 불안정합니다. 나는 mysqli를 사용하여 PHP를 충돌시키는 쿼리를 가졌지 만 mysql 패키지와 함께 잘 작동한다. 또한 mysqli는 LONGTEXT 컬럼에서 충돌한다. 이 버그는 적어도 2005 년 이후로 다양한 형태로 제기되어 왔으며 여전히 파손 된 상태입니다. 솔직히 말해서 준비된 문장을 사용하고 싶지만 mysqli는 충분히 신뢰할 만하지 않습니다 (아무도 그것을 고치지 않는 것 같습니다). 준비된 진술을 PDO와 함께 가고 싶다면
나는 mysqli를 사용하여 버렸다. 단순히 너무 불안정합니다. 나는 mysqli를 사용하여 PHP를 충돌시키는 쿼리를 가졌지 만 mysql 패키지와 함께 잘 작동한다. 또한 mysqli는 LONGTEXT 컬럼에서 충돌한다. 이 버그는 적어도 2005 년 이후로 다양한 형태로 제기되어 왔으며 여전히 파손 된 상태입니다. 솔직히 말해서 준비된 문장을 사용하고 싶지만 mysqli는 충분히 신뢰할 만하지 않습니다 (아무도 그것을 고치지 않는 것 같습니다). 준비된 진술을 PDO와 함께 가고 싶다면
-
==============================
4.MySQLi는 MySQL이 개선되었음을 나타냅니다. 이것은 MySQL 바인딩에 대한 객체 지향 인터페이스로, 사용하기가 더 쉽습니다. 또한 준비된 문장 (매우 유용함)에 대한 지원을 제공합니다. PHP 5를 사용하고 있다면 MySQLi를 사용하십시오.
MySQLi는 MySQL이 개선되었음을 나타냅니다. 이것은 MySQL 바인딩에 대한 객체 지향 인터페이스로, 사용하기가 더 쉽습니다. 또한 준비된 문장 (매우 유용함)에 대한 지원을 제공합니다. PHP 5를 사용하고 있다면 MySQLi를 사용하십시오.
-
==============================
5.더 나은 것은 PDO입니다. 덜 익숙한 인터페이스이고 MySQLi와 동일한 기능을 제공합니다.
더 나은 것은 PDO입니다. 덜 익숙한 인터페이스이고 MySQLi와 동일한 기능을 제공합니다.
준비된 문장을 사용하는 것은 SQL 주입 가능성을 제거하기 때문에 좋습니다. 서버 쪽 준비 문을 사용하면 왕복 횟수가 늘어나므로 좋지 않습니다.
-
==============================
6.나를 위해 준비된 진술은 반드시 가져야 할 기능입니다. 더 정확하게는 매개 변수 바인딩 (Prepared Statement에 대해서만 작동합니다). 문자열을 SQL 명령에 삽입하는 유일한 방법입니다. 나는 정말로 '탈출'기능을 신뢰하지 않는다. DB 연결은 바이너리 프로토콜입니다. 왜 매개 변수에 ASCII 제한된 하위 프로토콜을 사용합니까?
나를 위해 준비된 진술은 반드시 가져야 할 기능입니다. 더 정확하게는 매개 변수 바인딩 (Prepared Statement에 대해서만 작동합니다). 문자열을 SQL 명령에 삽입하는 유일한 방법입니다. 나는 정말로 '탈출'기능을 신뢰하지 않는다. DB 연결은 바이너리 프로토콜입니다. 왜 매개 변수에 ASCII 제한된 하위 프로토콜을 사용합니까?
from https://stackoverflow.com/questions/548986/mysql-vs-mysqli-when-using-php by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
PDOException "드라이버를 찾을 수 없습니다" (0) | 2018.09.05 |
---|---|
PHP curl로 HTTP 기본 인증을 사용하여 요청하는 방법은 무엇입니까? (0) | 2018.09.05 |
PHP는 방법 체인? (0) | 2018.09.05 |
PHP에서 @ 기호의 사용법은 무엇입니까? (0) | 2018.09.05 |
쓰기 컨텍스트에서 메서드 반환 값을 사용할 수 없습니다. (0) | 2018.09.05 |