2009-05-15 4 views
15

저는 PHP를 처음 사용하고 있으며 표준 MySQL 데이터베이스 호출을 사용하여 중간 규모의 웹 사이트를 구축했습니다. 그러나, 나는 최근에 PDO에 대해 배웠고, MySQL에서 PDO로 전환할만한 가치가 있는지를 알기를 희망합니다. 보안을 위해 나는 mysql_real_escape_string을 사용하고 있습니다.MySQL 대 PDO

사이트 정보 :
나는 INSERTSELECT 콜을 사용하고 있습니다. SELECT 호출에서 반환 된 데이터는 방대하지 않습니다 (LIMIT을 사용하여 반환 된 30 개가 넘는 레코드가 아닙니다). 또한 INSERT s의 전체가 없을 것입니다. 사이트는 현재 게시되지 않았으므로 지금 변경하는 것은 쉽습니다.

전문적인 견해로는 사이트를 MySQL에서 PDO로 전환 할 가치가 있습니까? 아니면 MySQL을 계속 사용하고 있습니까? 또는 다른 말로하면 PDO로 전환해야하는 이유는 무엇입니까?

+5

내가 지금까지 본 적이 PDO를 사용하는 가장 큰 단점으로 감시 할 수 있습니다 : PDO로 전환하는 사람들은 여전히'mysql_real_escape_string()'을 사용하려고 시도합니다. 그리고 작동하지 않을 때 StackOverflow에 중복 질문을 게시합니다 : P –

답변

33

PDO는 mysql_로 * 기능을 통해 다음과 같은 장점이 있습니다

  • 그것은 다른 관계형 데이터베이스에 대한 동일한 인터페이스의 의미, 크로스 데이터베이스입니다.
  • SQL 인젝션 방지에 도움이됩니다.
  • 훨씬 깔끔합니다 (객체 지향 접근법 사용).
  • 이 질문은 이전에 요청 된

, 당신은 답변에서 살펴 봐야 할 수 있습니다 :

새 프로젝트를 시작하는 경우, I PDO 나 상위 라이브러리/ORM을 사용하도록 엄격하게 제안합니다. 당신이 이미 그것없이 쓰여진 많은 코드를 가지고 있다면, 그럴 가치가 없을지도 모른다.

+0

빠른 응답을 주셔서 감사합니다. 네, 도움이되는 다른 게시물을 보았습니다. PDO로 전환하는 동안 가치가 있는지 궁금합니다. 전환하지 않겠지 만 지금은 PDO에 대해 배웠습니다. 전환해야하거나 MYSQL을 사용하는 것이 좋습니다. – justinl

+0

글쎄요, 이미 코드를 많이 작성했다면, 신경 쓸 필요는 없겠지만 새로운 프로젝트라면 PDO를 강력히 제안 할 것입니다. –

+0

예 상당한 양의 코드가 있습니다. 나는 그것에 대해 더 일찍 배웠 으면 좋겠다.그러나 그것을 사용하지 않는다면 세상 끝이 아니라는 말을 듣는 것이 좋습니다. 다시 한 번 감사드립니다! – justinl

4

PDO는 위에 링크 된 페이지에 나열된 장점을 가지고 있습니다. 데이터베이스 추상화 (즉, 코드가 다양한 DB 환경에서 이식 가능하도록 만들어졌습니다), PDO를 사용하면 일반적인 보안 문제를 많이 처리합니다. 준비된 명령문 기능을 제공하고 Class 인스턴스로 결과를 반환합니다 (객체 지향 접근법을 장려하여 코드를 크게 향상시킬 수 있음)

그러나 가장 좋은 방법은 ORM을 조사하는 것입니다 교리와 같은 도서관. 프로젝트 규모가 지나치게 커진 것처럼 보일 수도 있지만 솔직히 모범 사례를 배우기에는 너무 이른 것이 아닙니다. 방탄을 구축하는 방법의 우수한 개요는, 젠드 프레임 워크의 리드 개발자에 의해 주어진 유지 관리 데이터베이스 기반 애플리케이션은 http://mtadata.s3.amazonaws.com/webcasts/20090724-playdoh.wmv