22-06-2008, 07:12 PM
Vũ Thanh Lai
Đầy tớ Nhân Dân
Được cảm ơn 30836 trong 10208 bài viết
Đã viết 23,169 bài thảo luận
3395 lượt xem
#1
Bài 16: Các thao tác kết nối tới MySQL và lựa chọn CSDL bằng PHP
Bài viết này sẽ tập trung vào việc khai thác hệ quản trị CSDL miễn phí MySQL.
Tại sao lại sử dụng MySQL?
MySQL là một phần mềm quản trị CSDL mã nguồn mở, nằm trong nhóm LAMP (Linux - Apache -MySQL - PHP). "Liên minh" mã mở này đang được coi là một đối trọng với các sản phẩm mã đóng "đắt vãi..." (vãi gì thì tôi không biết
) của Microsoft (Windows, IIS, SQL Server, ASP/ASP.NET).
Một số đặc điểm của MySQL
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 CSDL, mỗi CSDL 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ể được quả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 CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khỏan có quyền sử dụng CSDL đó. Nếu không, chúng ta sẽ không làm được gì cả.
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.
Chú ý: Trước khi sử dụng PHP để lập trình với MySQL, hãy sử dụng chương trình quản lý phpMyAdmin để tạo trước một CSDL, vài bảng cũng như người dùng... để tiện thực hành. Bài hướng dẫn sử dụng phpMyAdmin sẽ được trình bày sau.
Trong bài viết này, tôi sử dụng 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:
PHP Code:
mysql_connect(host,tên_truy_cập,mật_khẩu);
trong đó:
host là 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 là 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 là chuỗi chứa mật khẩu tương ứng với tên truy cập
Ví dụ:
PHP Code:
<?
mysql_connect ("localhost", "thu_mot_ti","thu_hai_ti");
?>
Khi kết nối tới MySQL thành công, hàm sẽ trả về giá trị là một số nguyên định danh của liên kết, ngược lại, hàm trả về giá trị false.
Ta có thể dùng hàm if để kiểm tra xem có kết nối được tới MySQL hay không:
PHP Code:
<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");
if (!$link)
{
echo "Không thể kết nối được tới CSDL MySQL";
}
?>
Lựa chọn CSDL
Để 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.
VD:
PHP Code:
<?php
$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:
PHP Code:
mysql_close(mã_định_danh_kết_nối).
Ví dụ:
PHP Code:
<?php
$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);
?>
Chủ đề mới cùng chuyên mục
19-04-2011, 08:57 PM
bá đạo
Thành Viên SVIT
Được cảm ơn 43 trong 37 bài viết
Đã viết 339 bài thảo luận
#2
Bài 16: Các thao tác kết nối tới MySQL và lựa chọn CSDL bằng PHP
vậy còn nhập và lấy dữ liệu từ database thì làm sao đây anh Lai @@ help me for my first project !
FREE IMAGES HOSTING
TITANK.COM
(Đã online hơn một năm và vẫn đang hoạt động ổn định)
19-04-2011, 08:58 PM
nhymxu
Thành Viên SVIT
Được cảm ơn 341 trong 318 bài viết
Đã viết 1,866 bài thảo luận
#3
Bài 16: Các thao tác kết nối tới MySQL và lựa chọn CSDL bằng PHP
Nhập dùng INSERT, xuất dùng SELECT, cập nhật dùng UPDATE
http://nhymxu.info/
Nxbb - không chỉ là pre-modded ♥
Nhận code thuê các kiểu: admin@nhymxu.info
19-04-2011, 09:01 PM
bá đạo
Thành Viên SVIT
Được cảm ơn 43 trong 37 bài viết
Đã viết 339 bài thảo luận
#4
Bài 16: Các thao tác kết nối tới MySQL và lựa chọn CSDL bằng PHP
Bạn ghi rõ cách nhập hàm dùng mình được không , mình mới tập PHP !
FREE IMAGES HOSTING
TITANK.COM
(Đã online hơn một năm và vẫn đang hoạt động ổn định)
19-04-2011, 09:03 PM
Vũ Thanh Lai
Đầy tớ Nhân Dân
Được cảm ơn 30836 trong 10208 bài viết
Đã viết 23,169 bài thảo luận
#5
Bài 16: Các thao tác kết nối tới MySQL và lựa chọn CSDL bằng PHP

Nguyên văn bởi
TerryCod
vậy còn nhập và lấy dữ liệu từ database thì làm sao đây anh Lai @@ help me for my first project !
http://sinhvienit.net/@tut/lap-trinh...-lenh-sql.html
19-04-2011, 09:04 PM
bá đạo
Thành Viên SVIT
Được cảm ơn 43 trong 37 bài viết
Đã viết 339 bài thảo luận
#6
Bài 16: Các thao tác kết nối tới MySQL và lựa chọn CSDL bằng PHP
Thanks Lai nhiều !
FREE IMAGES HOSTING
TITANK.COM
(Đã online hơn một năm và vẫn đang hoạt động ổn định)
30-04-2011, 12:13 PM
dominhtrung
Thành Viên SVIT
Được cảm ơn 19 trong 8 bài viết
Đã viết 71 bài thảo luận
#7
Bài 16: Các thao tác kết nối tới MySQL và lựa chọn CSDL bằng PHP
Cho mình hỏi thêm:
1) ví dụ mình dùng hàm
PHP Code:
SELECT TenBaiPost FROM Post Where MaPost = 1
thì nó sẽ trả về 1 dòng là tên của bài Post đó. Vậy để hiện nó ra màn hình mình có thể dùng
PHP Code:
echo SELECT TenBaiPost FROM Post Where MaPost = 1
được không?
2) Mình muốn duyệt từng dòng để lấy giá trị trong 1 bảng, vậy mình có thể dùng hàm j? (mình ko bik nhiều về php) mong chỉ giáo chi tiết
02-05-2011, 01:05 AM
dominhtrung
Thành Viên SVIT
Được cảm ơn 19 trong 8 bài viết
Đã viết 71 bài thảo luận
#8
Bài 16: Các thao tác kết nối tới MySQL và lựa chọn CSDL bằng PHP
có ai ko vậ
y
13-10-2011, 10:55 AM
hatcat
Thành Viên SVIT
Được cảm ơn 16 trong 12 bài viết
Đã viết 186 bài thảo luận
#9
Bài 16: Các thao tác kết nối tới MySQL và lựa chọn CSDL bằng PHP
bác nào viết cái code update thông tin khách hàng từ csdl cho tui với. làm mãi không dc
13-10-2011, 10:57 AM
OnArcade
Điều hành viên cũ
Được cảm ơn 289 trong 168 bài viết
Đã viết 960 bài thảo luận
#10
Bài 16: Các thao tác kết nối tới MySQL và lựa chọn CSDL bằng PHP

Nguyên văn bởi
hatcat
bác nào viết cái code update thông tin khách hàng từ csdl cho tui với. làm mãi không dc
Nói rõ hơn chút được không bạn