Chào các bạn ở các bài trước chúng ta tìm kiểu cách tạo cơ sở dự liệu và các truy vấn trong MySql hôm nay chúng ta sẽ tìm hiểu cách kết nối cơ sở dữ liệu cũng như lấy chúng ra để sử dụng.
Đầu tiên bạn phải tạo cơ sở dữ liệu và import Data WEB TIN TUC này vào để thực hiện theo sau đó thì tùy biến sao cũng được
1.Kết nối CSDL:
<!--
mysql_connect(<host>, <username>,<password>);
-->
Hàm này dùng để kết nối đến MySql Server .
Trong đó:
host:địa chỉ của máy cài MySQL (tên hoặc IP). nếu là máy nội bộ thì dùng localhost
username, password: Là tài khoản và mật khẩu để kết nối
Hàm trả về 1 connection hoặc giá trị false nếu không kết nối được
Ví dụ:
<!--
$conn=mysql_connect("localhost","root","root");
-->
2. Chọn CSDL sử dụng:
<!--
mysql_select_db(<TênDatabase> [,TenKetNoi]);
-->
MySQL Server có thể chứa nhiều CSDL, hàm này dùng để chọn CSDL muốn dùng
Trong đó: TênDatabase: là tên cơ sở dữ liệu muốn dùng, TênKếtNối là biến connection trả về do hàm mysql_connect. Tên kết nối có thể bỏ qua cũng được.
Ví dụ:
<!--
mysql_select_db("webtintuc",$conn); hoặc
mysql_select_db("webtintuc");
-->
Chú ý: Dùng thêm lệnh sau để ấn định bảng mă utf8:
mysql_query("SET NAMES 'utf8'", $conn);
3. Thực thi các câu lệnh truy vấn:
<!--
mysql_query(CâuLệnhSQL);
-->
Hàm trả về true nếu câu lệnh truy vấn thực thi thành công (trừ câu lệnh select)
Hàm trả về 1 recordset (bảng dữ liệu) nếu câu lệnh select thực thi thành công
Hàm trả về false nếu câu lệnh truy vấn không được thực hiện
Ví dụ:
<!--
$rsLT=mysql_query("select * from loaitin");
$result=mysql_query("delete from loaitin where idLT=100");
//result sẽ true hoặc false . Không gán result cũng được
-->
4. Duyệt recordset:
<!--
$kq= mysql_fetch_assoc($TenRecordSet);
-->
Hàm trả về thông tin của record hiện hành (hoặc giá trị false nếu record rỗng), đồng thời di chuyển con trỏ sang record kế
Muốn hiện dữ liệu của field nào thì ghi như sau $kq['TenField']
Ví dụ 1:
<!--
<?php
mysql_connect("localhost","root","root");
mysql_select_db("webtintuc");
mysql_query("SET NAMES 'utf8'");
?>
<?php
$loaitin=mysql_query("select idLT, Ten from LoaiTin");
$row_loaitin=mysql_fetch_assoc($loaitin);
?>
<?php
echo $row_loaitin['Ten']; //row mảng có 2 phần tử , đánh theo key
?>
-->
Ví dụ 2: Duyệt recordset
<!--
<?php
mysql_connect("localhost","root","root");
mysql_select_db("webtintuc");
mysql_query("SET NAMES 'utf8'");
?>
<?php
$loaitin=mysql_query("select idLT, Ten from LoaiTin where idTL=1");
$row_loaitin=mysql_fetch_assoc($loaitin); ?>
<?php do { ?>
<? echo $row_loaitin['Ten']; ?>
<? } while ($row_loaitin=mysql_fetch_assoc($loaitin)); ?>
-->
5. Đếm số record trong recordset:
<!--
mysql_num_rows($TenRecoret);
-->
Ví dụ:
echo mysql_num_rows($kq);
6. Lấy ID vừa mới cập nhật
mysql_insert_id();
Trong 1 bảng , nếu khóa chính được khai báo theo kiểu auto_increament thì sau khi thêm mới record, có thể lấy giá trị vừa mới cập nhật bằng hàm này. (Lấy để đưa vào các bảng khác làm khóa ngoại)
Ví dụ: Bảng TheLoai hiện có 3 record có id là 1,2,3
mysql_query("insert into TheLoai (TenTL) values('Góc bạn đọc');
echo mysql _insert_id(); // 4
7. Thông báo lỗi của MYSQL:
Dùng hàm mysql_error();
Ví dụ:
$kq=mysql_query("Delete form quangcao") or die(mysql_error());
8. Nhảy đến 1 record trong recordset:
mysql_data_seek($TenRecordset, ThuTuRecord);
Ví dụ:
mysql_data_seek($rdLT, 0);
9. Đóng kết nối
<!--
mysql_close(<TenKetNoi>);
-->
Ví dụ:
mysql_close($conn);
Kết luận: Vậy là chúng ta đã tìm hiểu xong kết nối và làm một số việc lấy cơ sở dữ liệu ra và sử dụng cũng như truy vấn sql duyệt, đếm số record trong recordset. Công việc này rất quan trọng cho các bạn lập trình web.
Bài tập đề nghị:
1.Hiện tất cả thể loại có Anhien=1, sắp theo ThuTu tăng dần, tên của mỗi thể loại trong 1 hàng của table.
2.Hiện tên thể loại và tên loại tin có Anhien=1, sắp theo ThuTu tăng dần, tên của mỗi thể loại và loại tin trong 1 hàng của table.
Bình luận (0)
Add Comment