Hướng dẫn lập trình kết nối cơ sở dữ liệu trong php

Hướng dẫn lập trình kết nối cơ sở dữ liệu trong php

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.

Tags: 
Bạn thấy bài viết này như thế nào?: 
Average: 9 (1 vote)
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Bình luận (0)

 

Add Comment

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Phân tích Drupal 8 Plugins, là một concept hoàn toàn mới

Phân tích Drupal 8 Plugins, là một concept hoàn toàn mới

Plugins are a new concept in Drupal 8 that will be important for any aspiring Drupal 8 module developer to understand. Some common use cases where you'll encounter plugins are defining custom blocks

How to batch assign taxonomy terms to nodes using Views Bulk Operations

Hướng dẫn gắn taxonomy terms to nodes sử dụng Views Bulk Operations

First off, make sure you have the 2 modules installed. Drush will quickly take care of that for you if you don't have them yet:

Hacker

Hacker có thể “tiêu diệt” Facebook vào ngày 5/11

Vào giữa tháng 8, cộng đồng mạng trở nên hốt hoảng trước thông tin hacker phát động chiến dịch đánh sập Facebook vào ngày 5/11.

Công ty diệt chuột T&C

 

Diet con trung