2011-02-24 1 views
1

나는 방금 mysql과 mysqli의 두 가지 유형 (?)의 mySQL 함수를 배웠다. w3schools에서는 PHP 섹션 http://www.w3schools.com/php/php_ref_mysql.asp에 mysql 함수 만 포함되어 있습니다. mysql 함수를 mysqli 함수로 바꾸려면 'i'를 그냥 추가 할 수 있을까요? 예를 들어, mysql_select_db() 함수의 경우 mysqli 버전에서 같은 함수를 얻으려면 mysqli_select_db()로 변경하면됩니까?모든 mysqli PHP 함수는 mysqli를 가지고 있습니까? 아니면 일부 함수는 mysql을 가지고 있습니까?

그렇다면 내가 할 수없는 곳에서 mysql 함수가 있습니까?

마지막으로, mysql 함수가없고 mysql 함수가있는 곳의 최신 목록이 있습니까?

답변

3

mysqli PHP 모듈에서 제공하는 함수는 mysql_* 함수의 수퍼 세트입니다. 호환성을 이유로 대부분의 서버에서 사용할 수 있지만 mysql 모듈을 대체하고 바꿉니다. mysqli는 MySQL의 약자입니다.

사실 새 코드에는 PDO을 사용해야하며 이러한 함수 세트는 사용할 수 없습니다. 이에도 불구하고 귀하의 정보를

:

재 : W3 학교, have a read of this site하시기 바랍니다. W3 Schools의 열악한 PHP 튜토리얼을 포함하여 많은 것들에 대해서는 상당히 정확합니다. The PHP documention at php.net은 매우 포괄적이며 항상 최신이며 대부분의 경우 매우 우수합니다.

+0

나는 수퍼 세트가되는 함의를 잘 모르므로 mysql_ * 함수를 mysqli_ *로 변경할 수 있는지 알 수 없다. 또한 mysql과 mysqli 함수를 모두 사용할 수 없다고 들었다. 그래서 나는 혼란 스럽다. 내 질문에 더 직접적으로 대답 할 수있는 방법이 있습니까? 고맙습니다. – Sam

+0

@Sam 수퍼 세트는 모든 mysql 함수가 (더 이상 사용되지 않는) mysqli 함수를 가졌음을 의미하지만 그 반대가 항상 true는 아닙니다. 또한 공식 PHP 문서에서 두 모듈의 함수 목록을 사용하여 대답을 확장했습니다. ** 이러한 기능 세트 중 하나가 아니라 PDO를 사용해야합니다. PDO를 사용하면 연결 문자열을 변경하여 mysql보다 다른 데이터베이스 시스템에서 코드가 자동으로 작동합니다. (때로는 문제를 일으킬 수있는 SQL 방언의 약간의 차이는 무시하십시오.) –

+0

그래, 다시 그리기 보드로 돌아 가야합니다. 링크와 설명에 감사드립니다! – Sam

관련 문제