Tải bản đầy đủ (.doc) (60 trang)

Xây dựng website bán Điện thoại di động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.38 MB, 60 trang )

MỤC LỤC
LỜI CẢM ƠN............................................................................................................ 3
LỜI NÓI ĐẦU...........................................................................................................4
CHƯƠNG I. TÌM HIỂU CƠ SỞ LÝ THUYẾT........................................................5
1.1. Khái niệm mã nguồn mở.....................................................................................5
1.1.1. Một số kiểu phần mềm nguồn mở hiện nay.................................................7
1.1.2. Lịch sử phần mềm nguồn mở.......................................................................8
1.1.3. Ưu, nhược điểm của phần mềm nguồn mở..................................................9
1.2. Ngôn ngữ lập trình PHP....................................................................................12
1.6.1. Lịch sử ra đời của PHP..............................................................................12
1.6.2. Những điểm mạnh của PHP.......................................................................12
1.6.3. Cách cấu hình và cài đặt PHP....................................................................13
1.6.4. Cấu trúc, lưu trữ và truy vấn dữ liệu bằng PHP.........................................15
1.3. Hệ quản trị cơ sở dữ liệu My SQL....................................................................20
1.3.1. Khái niệm..................................................................................................20
1.3.2.Ưu nhược điểm của mySQL.......................................................................21
1.3.3. Các kiểu dữ liệu trong MySQL..................................................................22
1.4. Truy vấn cơ sở dữ liệu MySQL và PHP............................................................24
1.5. Apacheserver....................................................................................................27
1.6. Mã nguồn mở Joomla.......................................................................................27
1.7. Ứng dụng thương mại điện tử - Virtuemart.......................................................27
CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG, PHÂN TÍCH THIẾT KẾ HỆ THỐNG
CHO CỬA HÀNG ĐỆN THOẠI DI ĐỘNG THỊNH VƯỢNG MOBILE..............36
2.1. Khảo sát hiện trạng...........................................................................................36
2.1.1. Các hoạt động mua bán kinh doanh của cửa hàng.....................................36
2.1.2. Khảo sát hiện trạng lưu trữ thông tin của cửa hàng....................................36
2.1.3. Các mẫu biểu khảo sát :.............................................................................37
2.2. Phân tích yêu cầu..............................................................................................39
2.2.1. Phát biểu bài toán.......................................................................................39
2.2.2. Các mô hình UC........................................................................................41
2.2.3 Đặc tả chi tiết các UC.................................................................................43


2.2.4. Phân tích hệ thống......................................................................................45
2.2.5. Biểu đồ chuyển trạng thái..........................................................................51
2.2.6. Thiết kế hệ thống.......................................................................................52
1


2.3 Lược đồ cơ sở dữ liệu........................................................................................54
CHƯƠNG 3. XÂY DỰNG CHUONG TRÌNH DEMO BÁN ĐIỆN THOẠI DI
ĐỘNG CHO CỬA HÀNG THỊNH VƯỢNG MOBILE..........................................55
3.1. Giao diện trang chủ.......................................................................................55
3.2. Trang liệt kê theo nhóm sản phẩm................................................................56
3.3. Giao diện liên hệ...........................................................................................56
3.4. Đăng nhập.....................................................................................................57
3.5. Giỏ hàng.......................................................................................................57
KẾT LUẬN.............................................................................................................58
TÀI LIỆU THAM KHẢO.......................................................................................59

2


LỜI CẢM ƠN

Trong thời gian làm Đề tài thực tập tốt nghiệp em xin chân thành cảm ơn
thầy giáo Ths. Nguyễn Văn Việt - Giảng viên khoa Công Nghệ Thông Tin, Bộ môn
Công nghệ Phần mềm đã hướng dẫn em hoàn thành bài báo cáo này.
Với điều kiện học tập và thời gian có hạn cũng như lượng kiến thức còn hạn
chế nên bài báo cáo thực tập tốt nghiệp của em không tránh khỏi những thiếu sót.
Em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của thầy cô cùng toàn thể các
bạn để bài của em hoàn thiện hơn.
Em xin trân thành cảm ơn!

Thái Nguyên,tháng 11 năm 2014
Sinh viên thực hiện

Bùi Thị Thảo

3


LỜI MỞ ĐẦU
Mã nguồn mở là một trào lưu hiện đang phát triển rất nhanh trên thế giới hiện
nay. Microsoft đã từng đặt Linux và cộng đồng nguồn mở là một nguy cơ thực sự.
Giờ đây, phần mềm nguồn mở đã chiếm ưu thế trong hạ tầng công nghệ thông
tin. GNU/Linux và những ích lợi các loại của BSD Unix đã thống trị Internet,
Perl và PHP là các ngôn ngữ phát triển chiếm ưu thế của WWW, và Apache
thực sự đã mở rộng thị phần 80% sớm của mình giữa các máy chủ web... Tất cả
các sản phẩm này đều là phần mềm nguồn mở.
Việt Nam đã vào WTO, ngày càng hòa nhập sâu rộng vào thế giới, vấn đề bảo
hộ quyền sở hữu trí tuệ trở nên quan trọng hơn bao giờ hết. Bởi vì, việc thực thi
nghiêm ngặt bảo hộ quyền sở hữu trí tuệ nói chung và phần mềm nói riêng là một
trong những điều kiện tiên quyết để nước ta thực hiện Hiệp định đã ký. Khi đã gia
nhập WTO thì vấn đề bắt buộc phải sử dụng các phần mềm có bản quyền sẽ được
thắt chặt. Trong điều kiện nguồn vốn còn quá nghèo nàn như ở nước ta hiện nay thì
giải pháp sử dụng phần mềm nguồn mở (Open Source Software-OSS) là một
cách rất hữu hiệu để Việt Nam có chỗ đứng chuyên nghiệp hơn trong "thế giới
phẳng" đó. Tuy nhiên, OSS còn khá mới mẻ, không ít người cho rằng OSS đồng
nghĩa với miễn phí hoàn toàn, ít tính năng và không an toàn. Richard Stalhman (ông
tổ của mã nguồn mở) đã nói rằng chúng ta nên “bắt đầu ngay từ trong nhà trường”.
Bắt nguồn với ý tưởng này, cùng với những gợi ý của thầy giáo Th.sỹ Nguyễn
Văn Việt, em đã thực hiện đề tài: “TÌM HIỀU MÃ NGUỒN MỞ, HỆ QUẢN TRỊ
CSDL MYSQL VÀ XÂY DỰNG CHƯƠNG TRÌNH DEMO”

Nội dung bài thực tập chia làm 3 chương:
Chương 1: Tìm hiểu cơ sở lý thuyết về mã nguồn mở, hệ quản trị CSDL My SQL.
Chương 2: Khảo sát hiện trạng và phân tích, thiết kế hệ thống cho cửa hàng
điện thoại di động Thịnh Vượng Mobile.
Chương 3: Xây dựng chương trình demo website bán điện thoại di động cho
cửa hàng Thịnh Vượng Mobile có địa chỉ tại Thị trấn Chợ Mới, huyện Chợ Mới,
tỉnh Bắc Kạn bằng mã nguồn mở Joomla.

4


CHƯƠNG I. TÌM HIỂU CƠ SỞ LÝ THUYẾT
1.1. Khái niệm mã nguồn mở
Mã nguồn mở hiểu theo nghĩa rộng là một khái niệm chung được sử dụng cho
tất cả các phần mềm mà mã nguồn của nó được công bố rộng rãi công khai và cho
phép mọi người tiếp tục phát triển phần mềm đó. Vì thế để một chương trình phần
mềm trở thành một phần mềm mã nguồn mở, thì ngay tên của nó đã thể hiện phải
“mở mã” và công bố mã nguồn đó. Tất cả các chương trình có sử dụng PMNM thì
đều phải khai báo xuất xứ, tác giả, địa chỉ, … của mã nguồn. Như là đoạn code ví
dụ sau đây:
/* =============================
Project: PE.MysqlAdmin
Version: 1.0 Gamma
Website:
Email:
==============================*/
// Protect password
$pe["login_mode"]= 0;
Vậy phần mềm mã nguồn mở là gì?

Có rất nhiều tổ chức đưa ra định nghĩa của mình về phần mềm mã nguồn mở
(PMMNM) “Open Source Software”. Trước hết xin đưa ra một số quan niệm của
một số Tổ chức tại Việt Nam:
Theo Trang thông tin của Ban chỉ đạo Phần mềm nguồn mở quốc gia
( ) Phần mềm nguồn mở (OSS) là FOSS (Free/Open Source
Software) có sử dụng bất kì một dạng bản quyền được chấp nhận nào của Tổ chức
sáng kiến Mã nguồn Mở-OSI (Open Source Initiative- )
trong bản liệt kê các bản quyền mã mở của tổ chức. OSS là những phần mềm được
cung cấp dưới dạng mã và nguồn, không chỉ là miễn phí về giá mua mà chủ yếu là
miễn phí về bản quyền: người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp
theo một số nguyên tắc chung qui định trong giấy phép OSS (ví dụ General Public
Licence-GPL ) mà không cần xin phép ai, điều mà họ không được phép làm đối với
phần mềm nguồn đóng (tức là phần mềm nguồn đóng). Nhà cung cấp phần mềm
nguồn mở có quyền yêu cầu người dùng trả một số chi phí về các dịch vụ bảo hành,
huấn luyện, nâng cấp, tư vấn, vv.. tức là những dịch vụ thực sự đã thực hiện để
phục vụ người dùng, nhưng không được bán sản phẩm nguồn mở vì nó là tài sản
của trí tuệ chung, không là tài sản riêng của một nhà cung cấp nào.

5


Theo Viện Tin học Pháp ngữ : Phần mềm mã nguồn mở-(Open Source
Software-OSS) là phần mềm có mã nguồn được cung cấp, được sao chép, được phép
sửa đổi và phát hành. Tuy nhiên phần mềm vẫn được bảo vệ bởi bản quyền và việc sử
dụng phải tuân theo một giấy phép nhất định, OSS không có nghĩa là Phần mềm tự do.
Có hai hai khái niệm cần phải phân biệt đó là Phần mềm tự do và phần
mềm miễn phí:
Phần mềm tự do (Free Software): cho phép tự do sử dụng chương trình với
mọi mục đích, tự do nghiên cứu các chức năng của phần mềm và sửa đổi phần mềm
theo nhu cầu cá nhân (có quyền truy cập mã nguồn của phần mềm), cho phép tự do

phân phối bản sao phần mềm cho mọi người, tự do cải tiến phần mềm và tự do công
bố cải tiến của mình. Phần mềm tự do cũng khác so với phần mềm miễn phí.
Phần mềm miễn phí (Freeware): Là phần mềm có chủ sở hữu, không có mã
nguồn tự do, được cung cấp miễn phí dưới nhiều hình thức như cho phép down load.
Như vậy sự khác biệt cơ bản giữa Phần mềm nguồn mở và Phần mềm tự do
là sự khác nhau trong việc bảo vệ bản quyền; tức là OSS thì được bảo vệ bởi luật
bản quyền của một số Tổ chức, còn Phần mềm tự do thì không nhất thiết phải có mã
nguồn và không có copyright-không được bảo vệ.
Theo Tổ chức sáng kiến mã nguồn mở quốc tế - Open Source Initiative( ) định nghĩa mã nguồn mở như sau: (Xem nguyên bản
Tiếng Anh trong phần Phụ lục): Một OSS không có nghĩa là có thể truy cập trực
tiếp vào mã nguồn của chương trình; OSS được đảm bảo phân phối bởi một số Tổ
chức mã nguồn mở, và phải đảm bảo được một số nội dung :
Có hai hai khái niệm cần phải phân biệt đó là Phần mềm tự do và phần
mềm miễn phí:
Phần mềm tự do (Free Software): cho phép tự do sử dụng chương trình với
mọi mục đích, tự do nghiên cứu các chức năng của phần mềm và sửa đổi phần mềm
theo nhu cầu cá nhân (có quyền truy cập mã nguồn của phần mềm), cho phép tự do
phân phối bản sao phần mềm cho mọi người, tự do cải tiến phần mềm và tự do công
bố cải tiến của mình. Phần mềm tự do cũng khác so với phần mềm miễn phí.
Phần mềm miễn phí (Freeware): Là phần mềm có chủ sở hữu, không có mã
nguồn tự do, được cung cấp miễn phí dưới nhiều hình thức như cho phép down load.
Như vậy sự khác biệt cơ bản giữa Phần mềm nguồn mở và Phần mềm tự do
là sự khác nhau trong việc bảo vệ bản quyền; tức là OSS thì được bảo vệ bởi luật
bản quyền của một số Tổ chức, còn Phần mềm tự do thì không nhất thiết phải có mã
nguồn và không có copyright-không được bảo vệ.
Theo Tổ chức sáng kiến mã nguồn mở quốc tế - Open Source Initiative( ) định nghĩa mã nguồn mở như sau: (Xem nguyên bản
Tiếng Anh trong phần Phụ lục): Một OSS không có nghĩa là có thể truy cập trực
tiếp vào mã nguồn của chương trình; OSS được đảm bảo phân phối bởi một số Tổ
chức mã nguồn mở, và phải đảm bảo được một số nội dung :
6



(1). Phân phối tự do;
(2). Mã nguồn và cả chương trình hoàn thiện;
(3). Nguồn gốc;
(4). Tôn trọng bản quyền của tác giả mã nguồn;
(5). Không phân biệt đối xử với nhóm hay nhiều người;
(6). Không phân biệt trong mục đích sử dụng;
(7). Được phân phối dưới sự bảo hộ của các loại giấy phép;
(8). Các loại giấy phép dựa theo mục đích của nhà sản xuất;
(9). Giấy phép sẽ không hạn chế các phần mềm khác;
(10). Các giấy phép là độc lập so với mặt công nghệ.
Có rất nhiều loại giấy phép của các tổ chức Mã nguồn mở khác nhau, như
Apache, GNU/GPL, Mozilla, hay của Tổ chức BSD (Berkely Software Distribution)
vv… sẽ được trình bày chi tiết trong phần “Các luật về Mã nguồn mở”.
Theo David Wheeler thì “OSS là những chương trình mà quy trình cấp phép
sẽ cho người dùng quyền tự do chạy chương trình theo bất kỳ mục đích nào, quyền
nghiên cứu và sửa đổi chương trình, quyền sao chép và tái phát hành phần mềm gốc
hoặc phần mềm đã sửa đổi (mà không phải trả tiền cho những người lập trình trước)”.
Xét về phương diện phí đăng ký, OSS gần như miễn phí hoàn toàn. Đa số
các sản phẩm của OSS có thể tải từ Internet về mà không phải mất một chút phí
nào. Tuy nhiên, hiểu OSS luôn luôn miễn phí là hoàn toàn chưa đúng, bởi vì người
sử dụng còn phải trả các chi phí nhân sự, yêu cầu về phần cứng, chi phí đào tạo, chi
phí cho các dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn…, tức là những dịch vụ
thực sự đã thực hiện để phục vụ người dùng. Nhưng nếu xét tất cả các chi phí thì
OSS cũng rẻ hơn, kinh tế hơn phần mềm có bản quyền rất nhiều.
Tóm lại
Phần mềm mã nguồn mở (OSS )là những phần mềm được cung cấp miễn phí
về bản quyền và mã nguồn chương trình, người dung có thể sao chép, chỉnh sửa,
phân phối, đóng gói và phát hành; nhưng phải tuân thủ những quy định của các loại

giấy phép nhất định và được bảo vệ bản quyền.
1.1.1. Một số kiểu phần mềm nguồn mở hiện nay
Trong ngành Phần mềm hiện nay của thế giới đang tồn tại một số kiểu phần
mềm cơ bản:
* Phần mềm thương mại (Commercial Software).
Là phần mềm thuộc bản quyền của tác giả hoặc nhà sản xuất, chỉ được
cung cấp ở dạng mã nhị phân, người dùng phải mua và không có quyền phần
phối lại.
* Phần mềm thử nghiệm giới hạn (Limited Trial Software ).
7


Là những phiên bản giới hạn của các phần mềm thương mại được cung
cấp miễn phí nhằm mục đích thử nghiệm, giới thiệu sản phẩm và kích thích
người dùng quyết định mua. Loại sản phẩm này không chỉ giới hạn về tính
năng mà còn giới hạn người dùng về thời gian dùng thử ( thường là 30 ngày
hoặc 60 ngày).
* Phần mềm “chia sẻ” ( Shareware ).
Loại phần mềm này có đủ các tính năng và được phân phối tự do, nhưng
có một giấy phép khuyến cáo các cá nhân hoặc tổ chức mua, tùy tình hình cụ
thể. Nhiều tiện ích Internet (như “WinZip” dùng các thuận lợi của Shareware
như một hệ thống phân phối).
* Phần mềm sử dụng phi thương mại (Non-commercial Use).
Loại phần mềm này được sử dụng tự do và có thể phân phối lại bởi các
tổ chức phi lợi nhuận. Nhưng các tổ chức kinh tế, thí dụ các doanh nghiệp, ...
muốn dùng phải mua. Netscape Navigator là một thí dụ của loại phần mềm này.
* Phần mềm không phải trả phần trăm cho nhà sản xuất (Royalties
Free Binaries Software): Phần mềm được cung cấp dưới dạng nhị phân và được
dùng tự do. Thí dụ: bản nhị phân của các phần mềm Internet Explorer và
NetMeeting.

* Thư viện phần mềm không phải trả phần trăm (Royalties Free
Software Libraries):Là những phần mềm mà mã nhị phân cũng như mã nguồn
được dùng và phân phối tự do, nhưng người dùng không được phép sửa đổi.
Thí dụ: các thư viện lớp học, các tệp “header”, vv ..
* Các phần mềm Mã nguồn mở hoàn toàn (Open Source SoftwareOSS): những phần mềm được cung cấp dưới cả dạng mã và nguồn, không chỉ
là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền: người dùng có
quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung qui
định trong giấy phép PMNM.
1.1.2. Lịch sử phần mềm nguồn mở
- Những năm 1945-1975: Phần mềm thường được trao đổi giữa các nhà lập trình.
- Năm 1969: Đánh dấu sự ra dơid của Unix, trao đổi tự do.
- Bắt đầu những năm 1970, mã nguồn dần “đóng lại”.
- Năm 1984 phiên bản Unix thương mại (có bản quyền và giấy phép).
- Năm 1984, Richard Stalhan thành lập GNU phát triển các phần mềm tự do
trên Unix.
- Năm 1989 FSF (Free Software Foundation) định nghĩa giấy phép GNU GPL
(General Puplic Licesne ) và Copyleft.
- Năm 1991, Linus Torvald công bố mã nguồn của nhân một hệ điều hành mới
trên Internet.
8


- Năm 1992, Linux sử dụng giấy phép GPL GNU/Linux = Nhân Linux + tiện
ích GNU.
- Năm 1994, Linux được cài đặt lên các Proceessor của Intel: Alpha, ARM,
RISC, PowerPC, Sparc,…
- Năm 1995 ra đời Apache Web Server 2/3 Web servers trên Internet.
- Năm 1999 ra đời giao diện đồ họa KDE, GNOME.
- Xfree86 phiên bản GNU của X-Windows.
- Năm 2002: Sun Microsystem công bố OpenOffice.org.

- 1/2006: Cộng đồng mã nguồn mở GNU đưa ra phiên bản mới của Luật mã
nguồn mở GPL v3.
Lịch sử của OSS gắn liền với Richard Stalhman, làm việc tại phòng thí
nghiệm Trí tuệ nhân tạo MIT, là người đầu tiên thấy được sức mạnh của các phần
mềm “tự do”, tự do ở đây hiểu theo nghĩa tự do thay đổi mã nguồn không hẳn theo
nghĩa tự do về giá cả (hay miễn phí), người được coi như là một “vị thánh” trong
cộng đồng GNU/Linux, và là người sáng lập Hiệp hội phần mềm miễn phí (FSF) tại
Mĩ, lập giấy phép nguồn mở GPL (General Public License), và tạo nền tảng
cho Linus Torvalds viết hệ điều hành Linux. Tuy khái niệm mã nguồn mở được
Richard Stalhman nêu ra từ những năm 1970, nhưng thực sự trở thành một khuynh
hướng rõ rệt trong lĩnh vực phần mềm khoảng từ năm 1991, sau khi Linux ra đời.
* Mét sè tæ chøc OSS
Có rất nhiều các tổ chức OSS hoạt động phi lợi nhuận, dưới đây chỉ sin được
nêu ra 5 tổ chức lớn nhất:
- Tổ chức phần mềm tự do FSF

- Tổ chức phần mềm quốc tế OSI
- Tổ chức phần mềm Apache
- Tổ chức Mozilla
- Viện nghiên cứu phần mềm mã mở và tự do BSD
1.1.3. Ưu, nhược điểm của phần mềm nguồn mở
* Ưu điểm
Lợi ích của OSS thể hiện rõ nhất ở tính kinh tế của nó, sử dụng OSS thực sự
đã tiết kiệm được khoản tiền khổng lồ. Song đó không phải là tất cả, bởi đôi khi lựa
chọn phần mềm, người ta không quá chú trọng duy nhất vào vấn đề kinh phí, cái mà
họ quan tâm là tiện ích sử dụng, chất lượng phần mềm. Xét về mặt này OSS có
những ưu việt đáng kể như: Tính an toàn; Tính ổn định/ đáng tin cậy; Các chuẩn mở
9



và việc không phải lệ thuộc vào nhà cung cấp; Giảm phụ thuộc vào nhập khẩu; Phát
triển năng lực ngành công nghiệp địa phương; Vấn đề vi phạm bản quyền, quyền sở
hữu trí tuệ; tính tuân thủ WTO; Nội địa hoá.
- Tính an toàn: Thực tế cho thấy không hề tồn tại một hệ điều hành nào mà
tính an toàn của nó được hoàn hảo. Song, so với phần mềm nguồn đóng (PMNĐ)
thì OSS ưu việt hơn hẳn về độ an toàn, bởi vì:
+ Thứ nhất, mã nguồn được phổ biến rộng rãi giúp người lập trình và người sử
dụng dễ phát hiện và khắc phục những lỗ hổng an toàn trước khi chúng bị lợi dụng.
Các OSS thường có quy trình rà soát chủ động chứ không phải rà soát đối phó.
+ Thứ hai, ưu tiên tính an toàn đặt trên tiêu chí tiện dụng. Trước khi thêm bất
cứ tính năng nào vào ứng dụng OSS, bao giờ người ta cũng cân nhắc đến khía cạnh
an toàn và tính năng đó sẽ chỉ được đưa vào nếu không làm yếu đi tính an toàn của
hệ thống.
+ Thứ ba, các hệ thống OSS chủ yếu dựa trên mô hình của Unix, nhiều người
sử dụng, thuận tiện cho kết nối mạng. Vì vậy, chúng được thiết kế với một cấu trúc
an toàn bảo mật cao, để một người sử dụng bất kỳ không thể đột nhập vào máy chủ,
ăn trộm dữ liệu cá nhân của người khác hoặc làm cho mọi người không thể tiếp cận
được với các dịch vụ do hệ thống cung cấp.
- Tính ổn định / đáng tin cậy: Các OSS nổi tiếng là ổn định và đáng tin cậy.
Đây là kết luận rút ra sau khi các nhà nghiên cứu đã tiến hành thử nghiệm so sánh
với các PMNĐ khác.
- Các chuẩn mở và việc không phải lệ thuộc vào nhà cung cấp: OSS thực
chất dựa trên ba trụ cột “mở”: Nguồn mở, chuẩn mở, nội dung mở.
OSS luôn sử dụng các chuẩn mở bởi hai lý do sau :
+ Một là sẵn có mã nguồn. Với mã nguồn phổ biến công khai, người ta lúc
nào cũng có thể tái thiết kế và tích hợp lại bộ chuẩn của một ứng dụng. Mọi khả
năng tùy biến đều đã thể hiện rõ trong mã nguồn, khiến không ai có thể dấu một
chuẩn riêng trong một hệ thống OSS.
+ Hai là chủ động tương thích chuẩn. Khi đã có những chuẩn đã được thừa
nhận rộng rãi thì các dự án OSS luôn chủ động bám sát những chuẩn này. Đặc biệt,

khi sử dụng các sản phẩm OSS, người sử dụng không còn phải lệ thuộc vào nhà
cung cấp nữa.
- Giảm lệ thuộc vào xuất khẩu: Trước kia, mỗi quốc gia đang phát triển
muốn có một PMNĐ thì họ phải trả chi phí khổng lồ để có được giấy phép sử dụng
chúng. Điều này làm tiêu hao quỹ dự trữ ngoại tệ quốc gia. Giải pháp OSS ra đời đã
giúp các quốc gia này dễ dàng giải quyết khó khăn vừa nêu.
- Phát triển năng lực ngành công nghiệp phần mềm địa phương: Phát triển
OSS tạo năng lực đổi mới của một nền kinh tế. Bởi vì OSS, theo nguyên lý khuyến
khích sửa đổi và lưu hành tự do, rất dễ tìm, dễ sử dụng và dễ học hỏi. OSS cho phép
các nhà lập trình phát huy kiến thức và những nhân tố hiện có để tiếp tục sáng tạo
10


nên những phần mềm mới, giống như phương pháp tiến hành nghiên cứu cơ bản.
Bản chất mở và tính phối hợp cao của quy trình phát triển OSS cho phép người học
có thể tìm hiểu và thí nghiệm với các khái niệm phần mềm mà hầu như không gây
tốn kém trực tiếp cho xã hội.
- Vấn đề vi phạm bản quyền, quyền sở hữu trí tuệ và tính tuân thủ WTO: Tỷ
lệ sao chép phần mềm trên thế giới nói chung là rất cao, ngay cả ở những nước phát
triển cũng vậy, như Mỹ là 24%, châu Âu là 35%. Nạn sao chép phần mềm này làm
thiệt hại cho các quốc gia trên nhiều phương diện. OSS ra đời là giải pháp hữu ích
cho vấn đề này.
- Bản địa hoá: Đây là lĩnh vực mà OSS tỏ rõ nhất ưu thế của mình. Người sử
dụng OSS có thể tự do sửa đổi để phần mềm trở nên thích ứng với những nhu cầu
riêng biệt của một khu vực văn hoá đặc thù, bất kể quy mô kinh tế của khu vực đó.
Chỉ cần một nhóm nhỏ những người có trình độ kỹ thuật là đã có thể tạo ra một
phiên bản nội địa ở mức thấp cho bất cứ OSS nào.
* Nhược điểm
Không tồn tại phần mềm nào hoàn hảo và thích hợp cho mọi tình huống,
OSS cũng còn những hạn chế nhất định, đó là :

- Thiếu các ứng dụng kinh doanh đặc thù: Mặc dù có rất nhiều dự án OSS
đang được tiến hành, vẫn còn nhiều lĩnh vực chưa có một sản phẩm phần mềm hoàn
thiện, đặc biệt là trong kinh doanh. Đó là do thiếu những người vừa giỏi về kỹ thuật
lại vừa thạo về kinh doanh.
- Tính tương hỗ với các phần mềm đóng: Các OSS nhất là khi cài trên máy
để bàn, thường không hoàn toàn tương thích với PMNĐ. Đến lúc nào đó, khi các
công ty đã chuyển từ hệ thống chuẩn đóng sang chuẩn mở thì vấn đề này sẽ được
khắc phục.
OSS thiếu mất tính tiện dụng vốn là đặc trưng của phần mềm thương mại.
Ngoài việc thiếu vắng một hệ thống hỗ trợ có chất lượng cao thì giao diện đồ họa
với người sử dụng (GUI – Graphical User Interface) của OSS cũng không thân
thiện. Vì giao diện đồ họa trong đa số các hệ thống OSS không phải là một nhân tố
riêng lẻ mà là một tập hợp kết quả từ nhiều dự án khác nhau, các yếu tố của giao
diện thường hoạt động theo trình tự rất khác nhau. Chỉ riêng lệnh “lưu dữ liệu” của
chương trình này cũng đã khác chương trình kia, đây là điểm khác biệt so với các hệ
điều hành nguồn đóng như Microsoft Windows. Mặc dù khá nhiều công sức đang
được bỏ ra để thống nhất giao diện cho các chức năng cấu thành nhưng hệ điều
hành OSS có thể sẽ vẫn ở tình trạng thiếu đồng bộ trong một thời gian nữa.
Tuy nhiên, cùng với sự phát triển của OSS, tất cả những hạn chế này sẽ dần
được khắc phục.

11


1.2. Ngôn ngữ lập trình PHP
1.2.1. Lịch sử ra đời của PHP
Cái tên PHP ban đầu được viết tắt là Personal Home Page và ra đời khoảng
năm 1994, do một người phát minh mang tên Rasmus Lerdorf. Ông đã phát triển
PHP như một máy đặc tả (Scrip engine). Vào những năm 1997, PHP đã được phát
triển nhanh chóng và được nhiều người ưa thích. PHP đã không còn là dự án cá

nhân của Rasmus Lerdorf và đã trở thành công nghệ web quan trọng. Zeev Suraski
và Andi Gutmans đã hoàn thiện việc phân tích cú pháp cho ngôn ngữ để rồi tháng 6
năm 1998, PHP3 đã ra đời (phiên bản này có phần mở rộng là *.php3). Cho đến tận
thời điểm đó, PHP chưa một lần được phát triển chính thức, một yêu cầu viết lại bộ
đặc tả được đưa ra, ngay sau đó PHP4 được ra đời (phiên bản này có phần mở rộng
không phải là *.php4 mà là *.php). PHP4 nhanh hơn PHP3 rất nhiều. PHP bây giờ
được gọi là PHP Hypertext PreProcesor.
PHP được sử dụng khá nhiều trong các ứng dụng Web về thương mại điện tử,
tính đến năm 2001 có khoảng 5 triệu tên miền sử dụng mã nguồn PHP.
PHP là một phiên bản mã nguồn mở, điều đó cho phép bạn có thể làm việc
trên mã nguồn, thêm, chỉnh sửa, sử dụng hay phân phối chúng.
1.2.2. Những điểm mạnh của PHP
- PHP thực hiện với tốc độ nhanh và hiệu quả. Một server bình thường có thể
đáp ứng hàng triệu lượt truy cập tới trong một ngày.
- PHP hỗ trợ kết nối với nhiều CSDL khác nhau: PostgreSQL, mSQL, Oracle,
mdb, Hyperware, Informix, Interbase, Sybase….Ngoài ra, còn hỗ trợ kết nối với
ODBC thông qua đó có thể kết nối với nhiều ngôn ngữ kết nối khác mà ODBC hỗ trợ.
- PHP cung cấp một thư viện phong phú: Do PHP ngay từ đầu đã được thiết kế
nhằm mục đích xây dựng và phát triển các ứng dụng trên web nên PHP cung cấp rất
nhiều hàm xây dựng sẵn giúp thực hiện các công việc rất dễ dàng: gửi, nhận Email,
làm việc với cookie và nhiều thứ khác.
- PHP là một ngôn ngữ rất dễ dùng, dễ học và đơn giản hơn nhiều so với các
ngôn ngữ khác như Perl, java. Nếu bạn đã biết ngôn ngữ C thì mọi việc sẽ hoàn toàn
tiện lợi.
- PHP có thể sử dụng được trên nhiều hệ điều hành, chúng ta có thể viết chúng
trên Lunix, Unix và các phiên bản của windows. Và có thể đem mã PHP này chạy
trên các hệ điều hành khác mà không phải sửa đổi lại mã.
- PHP là ngôn ngữ mã nguồn mở: Hoạt động của trang web
* Với các trang HTML
Khi có yêu cầu tới một trang web từ phía người sử dụng (Browser ). Web

Server thực hiện 3 bước sau:
+ Đọc yêu cầu từ phía Browser
+ Tìm trang web trên server
12


+ Gửi trang web đó trở lại cho Browser thông qua mạng Internet hoặc Intranet

Hình 1.1: Hoạt động của trang web
* Với các trang PHP
Khác với các trang HTML, khi có một trang PHP yêu cầu từ phía Browser,
Web Server phân tích và thi hành các đoạn mã PHP để tạo ra trang HTML.
Điều đó được thể hiện ở 4 bước:
+ Đọc yêu cầu từ phía Browser
+ Tìm trang web trên server
+ Thực hiện các đoạn mã PHP trên trang web đó để sửa đổi nội dung
+ Gửi trở lại nội dung cho Browser (Đây là trang HTML có thể được duyệt
qua trình duyệt Internet Explorer, Fire Fox….)
Tóm lại, sự khác nhau giưa HTML và PHP là HTML không được thực hiện
trên máy chủ của Web Server còn các trang *.php được viết bằng các đoạn mã
PHP được thực hiện trên máy chủ Web Server do đó nó linh động và mềm dẻo
hơn rất nhiều
1.2.3. Cách cấu hình và cài đặt PHP
Để cài đặt PHP, bạn có thể cài các phần mềm riêng biệt (PHP, Apache,
MySQL). Tuy nhiên, vẫn có thế cài đặt gói tích hợp: Appaserv- Win -2.5.10
Cách cài như sau:
13


Bước 1: Chạy file .exe

Bước 2: Hiện ra hộp hội thoại như hình dưới, ta chọn Next

Server Name: bạn nhập vào là localhost
Email: là địa chỉ email của bạn
Port : mặc định là 80, tuy nhiên nếu máy bạn đã cài IIS thì có thể chỉnh thành
81 để chạy dịch vụ bên appserv.
Chọn Next để tiếp tục
Bước 3: Trong giao diện dưới đây
Enter root password: root
Re-enter root password: root
Các cấu hình còn lai giữ nguyên
Ở phần: Enable InnoDB bạn đánh dấu vào, để MySQL xử lý được các ứng
dụng có bật chế độ InnoDB.
Chọn Install để cài đặt

14


Sau khi cài đặt xong bạn gõ vào trình duyệt http://localhost mà hiện ra giao diện
dưới đây nghĩa là bạn đã cài đặt thành công

1.2.4. Cấu trúc, lưu trữ và truy vấn dữ liệu bằng PHP
Cấu trúc
PHP cũng có thẻ bắt đầu và kết thúc giống như ngôn ngữ HTML. Chỉ khác, với
PHP chúng ta có nhiều cách để thể hiện hơn:
Cách 1: Cú pháp chính:

<?php Mã lệnh PHP ?>

Cách 2: Cú pháp ngắn gọn:


<? Mã lệnh PHP ?>

Cách 3: Cú pháp giống ASP:

<% Mã lệnh PHP %>

15


Cách 4: Cú pháp bắt đầu bằng script
<script language=php>
….
</script>
Trong php kết thúc môt dòng lênhJ chúng ta sử dụng dấu “ ; “
Để chú thích 1 đoạn dữ liệu nào đó trong php ta sử dụng dấu “ // “ cho từng
dòng. Hoặc dùng cặp thẻ “ /*………….*/ cho cụm mã lệnh.
Ví dụ: như hình sau

Xuất giá trị ra trình duyệt
Để xuất dữ liệu ra trình duyệt ta có cú phap sau:
Echo”thông tin”;
Printf”thông tin”;
Thông tin bao gồm: biến, chuỗi, hoặc lênh HTML….
Ví dụ:

Ta có thể liên kết 2 chuỗi với nhau bằng dấu “ .”

Biến trong PHP
Biến được xem là 1 vùng nhớ dữ liệu tạm thời và giá trị có thể thay đổi được. Biến

được băt đầu bằng “ $ ’’. Theo sau đó là từ hoặc một cùm từ nhưng phải viết liên
tiếp hoặc có gạch dưới.
Một biến được xem là hợp lệ khi nó thỏa mãn các yếu tố sau:
- Tên của biến phải bắt đầu bằng dấu gạch dưới và theo sau là các ký tự, số hay dấu
gạch dưới.
- Tên của biến không được trùng với các từ khóa của PHP.
16


Ví dụ:

Hằng trong PHP
Nếu biến là cái có thể thay đổi thì hằng lai ngược lại chúng không thể thay đổi
Hằng trong PHP được định nghĩa bởi hàm define theo cú pháp:
Define( string tên_hằng, giá_trị_hằng).
Hằng được xem là hợp lệ khi:
Hằng không có dấu “ $ ” ở trước tên.
Hằng có thể truy cập ở bất cứ chỗ nào trong mã lệnh.
Hằng chỉ được gán 1 giá trị duy nhất.
Hằng thường viết bằng chữ in để phát hiện với biến.
Ví dụ:

Chuỗi trong PHP
Chuỗi là một nhóm các ký tự số, khoảng trắng, dấu ngắt được đặt trong các dấu
nháy.
Ví dụ:

Các kiểu dữ liệu trong PHP
Các kiểu dữ liệu khác nhau chiếm số lượng bộ nhớ khác nhau và có thể được xử lý
theo cách khác nhau khi chúng được thao tác trong 1 script.

Trong php có các kiểu dữ liệu chính sau:

17


Lưu trữ truy vấn dữ liệu bằng PHP
Mở file bằng PHP
Để làm việc trên file, bạn cần thực hiện qua các bước: Mở file, xử lý, đóng
file. Nhưng do mỗi một hệ điều hành có một cơ chế quản lý file khác nhau, cho nên
bạn cũng cần phải lưu ý một số vấn đề khi mở file.
File mode:
Khi bạn thực hiện vịêc mở một file, bạn cần cung cấp chế độ mở để chỉ thị
cho hệ điều hành biết, hệ điều hành sẽ kiểm soát việc bạn mở file và tránh việc
nhiều dòng xử lý cùng ghi vào file một lúc.
Có 3 chế độ tuỳ chọn khi mở file: read-only, write-only hay cả read-write.
Khi mở một file đang tồn tại, bạn có thể ghi mới (đè lên) nội dung đã có hoặc
chèn thêm vào nội dung đã có trong file.
Nếu muốn ghi vào một file hệ thống mà dữ liệu khác nhau giữa nhị phân và
text thì bạn cần phải chỉ định chế độ ghi đầy đủ cho trường hợp này.
Sử dụng hàm fopen()
Để có thể mở một file dạng văn bản, bạn sử dụng hàm fopen() với hai tham
số truyền vào là: Đường dẫn chính xác và chế độ mở.
$ft=fopen("path","filemode");
Đường dẫn: Trong mỗi hệ điều hành khác nhau đường dẫn của một file lại
khác nhau. Chẳng hạn trong Windows đường dẫn thường phân cách bởi dấu \ nhưng
trong Linux hay UNIX thì đường dẫn được định nghĩa thông qua dấu /.
Chế độ mở: Chế độ mở được kí hiệu bằng các kí hiệu khác nhau bao gồm:
r: Mở dưới dạng read-only
r+: Mở dưới dạng Read-write
w: Mở dưới dạng write-only

w+: Mở dưới dạng write-read. Nếu file này đã tồn tại, nội dung chúng sẽ bị
xoá, còn nếu chưa tồn tại thì file này sẽ tự động được tạo ra.
a: Mở dưới dạng append (write), nghĩa là nếu file đã tồn tại, nó cho phép ghi
thêm dữ liệu vào cuối file. Nếu file chưa tồn tại thì nó sẽ được tạo ra.
a+: Mở dưới dạng append (read - write), Nếu file tồn tại, phần nội dung thêm
sẽ được ghi thêm vào đầu file, nếu file chưa tồn tại thì nó sẽ được tạo ra.
18


Ví dụ khi cần mở file orders.txt trong Windows ta làm như sau:
$ft=fopen("c:\appserv\www\order.txt","w");

Khi mở file bằng hàm fopen, tất cả nội dung trong file sẽ được gán vào biến
có tên $ft.
Mở file thông qua FTP hay HTTP
Để mở file thông qua FTP hay HTTP ta chỉ việc chỉ rõ đường dẫn một cách
chính xác:
$link=" />$ft=fopen($link,"w");
Ghi ra file
Để ghi dữ liệu vào một file đã mở, bạn có thể sử dụng hàm fwrite() hoặc hàm
fputs(). Hàm fwrite() có cấu trúc như sau:
fwrite($ft, $outputstring)
Còn hàm fputs có cú pháp như sau:
Int fputs(int ft, string str, int length)
Trong đó đáng lưu tâm nhất là tham số length, tham số này sẽ quy định số byte
lớn nhất có thể ghi vào file.
Việc ghi vào file cần phải được sự đồng ý của hệ điều hành do vậy trước khi
thực hiện ghi file, bạn hãy đảm vào hệ điều hành đã cho phép bạn ghi vào file này.
$path="c:\appserv\www";

$link=$path."\order.txt";
$ft=fopen($link,"w");
$output="Save this text to file";
fwrite($ft,$output);
echo "success";
?>
Khi bạn ghi vào một file bạn có thể tự định dạng cho file đó, PHP cung cấp
các kí tự đặc biệt để định dạng đó là \t cho phép bạn nhảy một tab và \n cho phép
bạn xuống hàng.
Sau khi ghi file cần lưu ý đóng file bằng hàm fclose(). Nếu kết quả trả về là
true nghĩa là bạn hoàn thành việc đóng file, còn nếu kết quả là false thì việc đóng
file thất bại do một số lý do nào đó.
Đọc từ file
19


Bạn có thể đọc file văn bạn trên máy, trong mạng nội bộ hoặc ngay cả trên
mạng internet. Để làm được điều này bạn có thể dùng hàm fgets() sau khi đã mở file
bằng hàm fopen().
$path="c:\appserv\www";
$link=$path."\order.txt";
$ft=fopen($link,"r");
if(!$ft)
{
echo "Nothing in this file";
exit;
}
else
{

while(!feof($ft))
{
$order=fgets($ft,1000);
echo $order."
";
}
}
?>
1.3. Hệ quản trị cơ sở dữ liệu My SQL
1.3.1. Khái niệm
MySQL là hệ quản trị cơ sở dữ dữ liệu mã nguồn mở miễn phí, được tích
hợp sử dụng chung với apache, PHP.
MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương đương
với SQL Server của Microsoft).
MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu có thể
có nhiều bảng quan hệ chứa dữ liệu.
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể
đượcquản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập
(user name) và mật khẩu tương ứng để truy xuất đến CSDL.
Khi ta truy vấn tới cơ sở dữ liệu MySQL, ta phải cung cấp tên truy cập và mật
khẩu của tài khoản có quyền sử dụng cơ sở dữ liệu đó.Nếu không, chúng ta sẽ
khônglàm được gì cả.
20


1.3.2. Ưu nhược điểm của mySQL
Ưu điểm:
Tốc độ: MySQL rất nhanh. Những nhà phát triển cho rằng MySQL là cơ sở dữ
liệu nhanh nhất mà bạn có thể có.
Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống cơ sở
dữ liệu rất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ thống lớn

Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một
tổ chức.
Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn lựa cho
tất cả các hệ thống cơ sở dữ liệu hiện đại. Bạn cũng có thể truy cập MySQL bằng
cách sử dụng các ứng dụng mà hỗ trợ ODC (Open Database Connectivity -một giao
thức giaotiếp cơ sở dữ liệu được phát triển bởi Microsoft).
Năng lực: Nhiều client có thể truy cập đến server trong cùng một thời gian.
Các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời. Bạn có thể truy
cập MySQL tương tác với sử dụng một vài giao diện để bạn có thể đưa vào các truy
vấn và xem các kết quả: các dòng yêu cầu của khách hàng, các trình duyệt Web….
Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở dữ
liệu cóthể được truy cập từ bất kỳ nơi nào trên Internet do đó bạn có thể chia sẽ dữ
liệu của bạn với bất kỳ ai, bất kỳ nơi nào. Nhưng MySQL kiểm soát quyền truy cập
cho nên người mà không nên nhìn thấy dữ liệu của bạn thì không thể nhìn được.
Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không phải
UNIX chẳng hạn như Windows. MySQL chạy được các với mọi phần cứng từ các
máy PC ở nhà cho đến các máy server.
Sự phân phối rộng: MySQL rất dễ dàng đạt được, chỉ cần sử dụng trình duyệt
webcủa bạn. Nếu bạn không hiểu làm thế nào mà nó làm việc hay tò mò về thuật
toán, bạn có thể lấy mã nguồn và tìm tòi nó. Nếu bạn không thích một vài cái, bạn
có thể thayđổi nó.
Nhược điểm:
MySQL cho tới version 3.x chưa hỗ trợ các câu lệnh SQL phức hợp.
Hiện nay MySQL vẫn chưa cho phép thực hiện xử lý các thao tác truy vấn và
cập nhật cơ sở dữ liệu theo từng giao tác, nghĩa là một nhóm lệnh được hoặc là thực
hiện hoàn tất hết hoặc là cho phép hoàn nguyên (rollback) trạng thái ban đầu của
CSDL. Đặc tính này rất quan trọng đối với một số dạng ứng dụng xử lý dữ liệu
nghiêm ngặt.
Và hiện MySQL vẫn chưa hỗ trợ cho việc thực hiện các thao tác cập nhật hoặc
xử ký ngay trên DB Server bằng cách gọi thực hiện các Stored-Procedures. Cùng

với việc thiếu vắng tính năng Triggers, nhược điểm này sẽ khiến cho việc xây dựng
và triển khai các ứng dụng lớn gặp nhiều khó khăn.

21


1.3.3. Các kiểu dữ liệu trong MySQL
Loại dữ liệu numeric
Kiểu dữ liệu numeric bao gồm kiểu số nguyên trình bày trong bảng dưới đây:
Type
tinyint
smallint

Range
-127->128 hay 0..255
-32768 ->32767 hay
0..65535
-8388608 -> 838860
hay 0..16777215
-231->231-1
hay
0..232-1
-263->263-1
hay
0..264-1

mediumint
int
bigint


Bytes
1
2

Legerd
Số nguyên rất nhỏ.
Số nguyên nhỏ.

3

Số nguyên vừa.

4

Số nguyên.

8

Số nguyên lớn.

Và kiểu số chấm động, trong trường hợp dữ liệu kiểu dấu chấm động bạn cần
phải chỉ rõ bao nhiều số sau đấu phần lẻ như trong bảng:
Type
float

Range
Phụ thuộc số thập phân

Float(M,D)


±1.175494351E-38

Double(M,D)

±3.40282346638
±1.7976931348623157308

Bytes Legerd
Số thập phân dạng
Single hay double
4
Số thập phân dạng
Single
8

±2.2250738585072014E-308
Float(M[,D])

Số thập phân dạng
double
Số chấm động lưu
dưới dạng char.

Loại dữ liệu Date and Time
Kiểu dữ liệu Date and Time cho phép bạn nhập liệu dưới dạng chuỗi hay dạng
số như trong bảng:
Type

Range


Legerd

Date

1000-01-01

Time

-838:59:59

DateTime

838:59:59
1000-01-01 00:00:00

TimeStamp[(M)]

9999-12-31 23:59:59
1970-01-01 00:00:00
22

Date trình bày dưới dạng Yyyymm-dd.
Time trình bày dưới
dạng
hh:mm:ss.
Date và Time trình bày dưới dạng
yyyy-mm-dd hh:mm:ss.
TimeStamp trình bày dưới

dạng



yyyy-mm-dd hh:mm:ss.
Year[(2|4)]

1970-2069

Year trình bày dưới
hoặc 4 số.

1901-2155
Kiểu dữ liệu String

dạng

2 số

Kiểu dữ liệu String chia làm ba loại:
Loại thứ nhất như char (chiều dài cố định) và varchar (chiều dài biến thiên).
Char cho phép bạn nhập liệu dưới dạng chuỗi với chiếu dài lớn nhất bằng chiều dài
bạn đã định nghĩa, nhưng khi truy cập dữ liệu trên Field có khai báo dạng này, bạn
cần phải xử lý khoảng trắng. Điều này có nghĩa là nếu khai báo chiều dài là 10,
nhưng bạn chỉ nhập chuỗi 4 ký tự, MySQL lưu trữ trong bộ nhớ chiều dài 10.
Ngược lại với kiểu dữ liệu Char là Varchar, chiều dài lớn hất người dùng có
thể nhập vào bằng chiều dài bạn đã định nghĩa cho Field này, bộ nhớ chỉ lưu trữ
chiều dài đúng với chiều dài của chuỗi bạn đã nhập.
Như vậy, có nghĩa là nếu bạn khai báo kiểu
varchar 10 ký tự, nhưng bạn
hcỉ nhập 5 ký tự, MySQL chỉ lưu trữ chiều dài 5 ký tự, ngoài ra, khi bạn truy cập
đến Field có kiểu dữ liệu này, bạn không cần phải giải quyết khoảng trắng.

Loại thứ hai là Text hay Blob, Text cho phép lưu chuỗi rất lớn, Blob cho phép
lưu đối tượng nhị phân. Loại thứ 3 là Enum và Set. Bạn có thể tham khảo cả ba loại
trên trong bảng sau:
Type

Range

Legerd

char
varchar

1-255 characters
1-255 characters

Chiều dài của chuỗi lớn nhất 255 ký tự.
Chiều dài của chuỗi lớn nhất 255 ký tự
(characters).
Khai báo cho Field chứa kiểu đối tượng nhị
phân cỡ 255 characters.
Khai báo cho Field chứa kiểu chuỗi cỡ 255
characters.
Khai báo cho Field chứa kiểu blob cỡ 65,535
characters..
Khai báo cho Field chứa kiểu chuỗi dạng văn
bản cở 65,535 characters.
Khai báo cho Field chứa kiểu blob vừa
khoảng 16,777,215

tinyblob

tinytext
blob

216-1

text

216-1

Mediumblo

224-1

Mediumtext 224-1

Longblob

232-1

characters.
Khai báo cho Field chứa kiểu chuỗi dạng văn
bản vừa khoảng 16,777,215
characters.
Khai báo cho Field chứa kiểu blob lớn khoảng
23


4,294,967,295 characters.
Longtext


232-1

Khai báo cho Field chứa kiểu chuỗi dạng văn
bản lớn khoảng 4,294,967,295
characters.

1.4. Truy vấn cơ sở dữ liệu MySQL và PHP
Các bước xây dựng chương trình có kết nối tới CSDL:
Thông thường, trong một ứng dụng có giao tiếp với CSDL, ta phải làm theo
bốn trình tự sau:
Bước 1: Thiết lập kết nối tới CSDL.
Bước 2: Lựa chọn CSDL.
Bước 3: Tiến hành các truy vấn SQL, xử lý các kết quả trả về nếu có.
Bước 4: Đóng kết nối tới CSDL.
Nếu như trong lập trình thông thường trên Windows sử dụng các chương
trình điều khiển trung gian (ADO, ODBC...) để thực hiện kết nối và truy vấn, thì
trong PHP, khi lập trình tương tác với CSDL, chúng ta thường sử dụng thông qua
các hàm.
Giả sử MySQL chạy trên nền máy chủ localhost, người sử dụng của CSDL
này có username là mysql_user, mật khẩu là mysql_password.
Thiết lập kêt nối tới MySQL:
Để kết nối tới MySQL, ta sử dụng hàm mysql_connect()
Cú pháp:
mysql_connect(host, tên_truy_cập,mật_khẩu);
Trong đó:
Host: chuỗi chứa tên (hoặc địa chỉ IP) của máy chủ cài đặt MySQL.
Tên_truy_cập: chuỗi chứa tên truy cập hợp lệ của CSDL cần kết nối.
Mật_khẩu: chuỗi chứa mật khẩu tương ứng với tên truy cập.
Ví dụ:

mysql_connect ("localhost", "root","111111");?>

Lựa chọn CSDL:

24


Để lựa chọn một CSDL nào đó mà người sử dụng có tên là “tên_truy_cập"
có quyền sử dụng, ta dùng hàm mysql_select_db:
mysql_select_db (tên_CSDL);
Hàm này thường được dùng sau khi thiết lập kết nối bằng hàm
mysql_connect. Hàm này trả về true nếu thành công, false nếu thất bại.
$link = mysql_connect("localhost","mysql_user",
"mysql_password");
if (!$link)
{
echo "Không thể kết nối được tới MySQL";
}
if (!mysql_select_db ("Forums"))
{
echo "Không thể lựa chọn được CSDL Forums";
}
?>
Đóng kết nối tới CSDL:
Để đóng kết nối tới CSDL, ta dùng hàm mysql_close. Hàm này có nhiệm vụ
đóng kết nối tới CSDL có mã định danh được tạo ra bởi hàm mysql_connect().
Cú pháp:
mysql_close(mã_định_danh_kết_nối).
Ví dụ:

$link=mysql_connect("localhost", "mysql_user",
"mysql_password");
if (!$link)
{
echo "Không thể kết nối được tới MySQL";
}
mysql_close($link);
?>
Thực hiện truy vấn:
Giả sử GI Giả sử MySQL chạy trên nền máy chủ localhost, người sử dụng có
username là mysql_user, mật khẩu là mysql_password.
CSDL có tên là CMXQ_Forum, trong đó có một bảng là CMXQ_Users để
lưu thông tin về những thành viên của diễn đàn. Bảng CMXQ_Users có các
trường sau:
User_ID: Autonumber.// mã số của người dùng
25


×