복붙노트

PHP를 사용할 때 MySQL 대 MySQLi [닫힘]

PHP

PHP를 사용할 때 MySQL 대 MySQLi [닫힘]

MySQL, MySQLi 중 어느 것이 더 낫습니까? 그리고 왜? 어느 것을 사용해야합니까?

성능면에서뿐만 아니라 다른 관련 기능도 더 좋습니다.

해결법

  1. ==============================

    1.MySQL Improved Extension Overview를 보았다면, 두 버전의 차이점에 대해 알아야 할 모든 것을 알려줄 것입니다.

    MySQL Improved Extension Overview를 보았다면, 두 버전의 차이점에 대해 알아야 할 모든 것을 알려줄 것입니다.

    주요 유용한 기능은 다음과 같습니다.

  2. ==============================

    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. ==============================

    3.나는 mysqli를 사용하여 버렸다. 단순히 너무 불안정합니다. 나는 mysqli를 사용하여 PHP를 충돌시키는 쿼리를 가졌지 만 mysql 패키지와 함께 잘 작동한다. 또한 mysqli는 LONGTEXT 컬럼에서 충돌한다. 이 버그는 적어도 2005 년 이후로 다양한 형태로 제기되어 왔으며 여전히 파손 된 상태입니다. 솔직히 말해서 준비된 문장을 사용하고 싶지만 mysqli는 충분히 신뢰할 만하지 않습니다 (아무도 그것을 고치지 않는 것 같습니다). 준비된 진술을 PDO와 함께 가고 싶다면

    나는 mysqli를 사용하여 버렸다. 단순히 너무 불안정합니다. 나는 mysqli를 사용하여 PHP를 충돌시키는 쿼리를 가졌지 만 mysql 패키지와 함께 잘 작동한다. 또한 mysqli는 LONGTEXT 컬럼에서 충돌한다. 이 버그는 적어도 2005 년 이후로 다양한 형태로 제기되어 왔으며 여전히 파손 된 상태입니다. 솔직히 말해서 준비된 문장을 사용하고 싶지만 mysqli는 충분히 신뢰할 만하지 않습니다 (아무도 그것을 고치지 않는 것 같습니다). 준비된 진술을 PDO와 함께 가고 싶다면

  4. ==============================

    4.MySQLi는 MySQL이 개선되었음을 나타냅니다. 이것은 MySQL 바인딩에 대한 객체 지향 인터페이스로, 사용하기가 더 쉽습니다. 또한 준비된 문장 (매우 유용함)에 대한 지원을 제공합니다. PHP 5를 사용하고 있다면 MySQLi를 사용하십시오.

    MySQLi는 MySQL이 개선되었음을 나타냅니다. 이것은 MySQL 바인딩에 대한 객체 지향 인터페이스로, 사용하기가 더 쉽습니다. 또한 준비된 문장 (매우 유용함)에 대한 지원을 제공합니다. PHP 5를 사용하고 있다면 MySQLi를 사용하십시오.

  5. ==============================

    5.더 나은 것은 PDO입니다. 덜 익숙한 인터페이스이고 MySQLi와 동일한 기능을 제공합니다.

    더 나은 것은 PDO입니다. 덜 익숙한 인터페이스이고 MySQLi와 동일한 기능을 제공합니다.

    준비된 문장을 사용하는 것은 SQL 주입 가능성을 제거하기 때문에 좋습니다. 서버 쪽 준비 문을 사용하면 왕복 횟수가 늘어나므로 좋지 않습니다.

  6. ==============================

    6.나를 위해 준비된 진술은 반드시 가져야 할 기능입니다. 더 정확하게는 매개 변수 바인딩 (Prepared Statement에 대해서만 작동합니다). 문자열을 SQL 명령에 삽입하는 유일한 방법입니다. 나는 정말로 '탈출'기능을 신뢰하지 않는다. DB 연결은 바이너리 프로토콜입니다. 왜 매개 변수에 ASCII 제한된 하위 프로토콜을 사용합니까?

    나를 위해 준비된 진술은 반드시 가져야 할 기능입니다. 더 정확하게는 매개 변수 바인딩 (Prepared Statement에 대해서만 작동합니다). 문자열을 SQL 명령에 삽입하는 유일한 방법입니다. 나는 정말로 '탈출'기능을 신뢰하지 않는다. DB 연결은 바이너리 프로토콜입니다. 왜 매개 변수에 ASCII 제한된 하위 프로토콜을 사용합니까?

  7. from https://stackoverflow.com/questions/548986/mysql-vs-mysqli-when-using-php by cc-by-sa and MIT license