/ / Php cơ bản / Comments (2)

PHP và MYSQL

Qua bài trước mình đã giới thiệu cho các bạn cách sử dụng session và cookie trong php.Trong bài hôm nay mình sẽ giới thiệu cho các bạn 1 phần hết sức quan trọng đó chính là php & mysql.Chắc chắn các bạn đã nghe thấy cặp đôi PHP và Mysql rất quen thuộc rồi phải không nào,vậy giờ chúng ta hãy bắt đầu tìm hiểu nó thôi.

Mysql là gì?

Mysql là một hệ cơ sở dữ liệu miễn phí, nó được dùng kết hợp với PHP để lưu trữ các thông tin, hành động… khi người dùng thao tác dữ liệu trên website của chúng ta

Tìm hiểu Database,Table, Field

+ Cơ sở dữ liệu hay database dùng để chứa dữ liệu

+ Trong cở sở dữ liệu sẽ có các bảng table, trong các table sẽ có các trường dữ liệu (hay còn gọi là field)

Các câu truy vấn cơ bản MYSQL

a. Câu lệnh truy vấn select

– Cú pháp:

SELECT tên_field FROM tên_bảng WHERE điều_kiện ORDER BY tên_field giá_trị LIMIT giá_trị_đầu, giá_trị_cuối

  • Có thể có điểu kiện WHERE hoặc không , có ORDER BY hoặc không, có LIMIT hoặc không, tuỳ theo ý đồ truy vấn của bạn
  • ORDER BY : Sắp sếp 1 field nào đó theo ý muốn, tăng dần là ASC, giảm dần là DESC…
  • LIMIT giá trị đầu, giá trị cuối : Lấy giới hạn từ vì trí này đến vị trí kia

– Ví dụ: chúng ta có 1 bảng user chứa danh sách các thành viên của website,với trường ID là khóa chính

+ Lấy toàn bộ danh sách thành viên

SELECT * FROM user

+ Lấy thông tin thành viên trong bảng user có khóa chính (id) = 1

SELECT * FROM user where id = 1

+ Lấy danh thành viên trong bảng user và sắp xếp theo tên dạng từ a -> z

SELECT * FROM user ORDER BY name ASC

+ Lấy danh sách 10 thành viên đầu tiên trong bảng user

SELECT * FROM user LIMIT 0,10

b. Câu lệnh thêm dữ liệu (insert)

– Cú pháp:

INSERT INTO tên_bảng(tên_field) values(“giá trị”)

+ Khi insert nhiều field ta dùng dấu phảy ” , ” để ngăn cách

– Cấu trúc:

INSERT INTO tên_bảng(field1, field2, field3…) VALUES("giá trị 1", "giá trị 2", "giá trị 3“…)

– Ví dụ:
+ Thêm vào bảng user 2 trường dữ liệu name = “php” và email = “php@gmail.com”

INSERT INTO user(name,email) VALUES(“php", “php@gmail.com”);

c. Câu lệnh cập nhật dữ liệu(update)

– Cú pháp:

UPDATE tên_bảng SET field=”giá trị” WHERE điều_kiện

+ Update nhiều cột:

UPDATE tên_bảng SET field1=”giá trị1″, field2=”giá trị2″, fieldn=”giá trị n” WHERE điều_kiện

– Ví dụ:

+ Cập nhật thông tin name và email cho thành viên có khóa chính (id) = 1

UPDATE user SET name=“mysql”, email=“mysql@gmail.com”
WHERE id = 1

d. Câu lệnh xóa dữ liệu(delete)

– Cú pháp:

DELETE FROM tên_bảng WHERE điều_kiện

+ Nếu không có điều kiện WHERE nó sẽ xoá toàn bộ record
– Ví dụ:
+ Xóa thành viên có khóa chính (id)=1

DELETE FROM user
WHERE id = 1

Kết hợp PHP và MYSQL

a.Kết nối CSDL

mysql_connect("hostname","user","pass")

Trong đó thì:
b.Lựa chọn CSDL

mysql_select_db("tên_CSDL")

– Ví dụ:

$conn=mysql_connect("localhost","root","")
or die(" khong the ket noi");
mysql_select_db(“php");

Do mình đang sử dụng Xampp lên các thông số kết nối với CSDL sẽ là:
+ hostname = ‘localhost’,

+ user = ‘root’,

+ pass = ”

c.Thực thi câu lênh truy vấn

– Cú pháp:

mysql_query("Câu truy vấn ở đây");

– Ví dụ:
+ Lấy toàn bộ thông tin của thành viên trong bảng user

mysql_query(“SELECT * FROM user");

d.Đếm số dòng dữ liệu trong bảng

– Cú pháp:

mysql_num_rows();

e.Lấy dữl iệu

Đưa dữ liệu vào mảng:

mysql_fetch_assoc($query);
//hoặc  mysql_fetch_array($query,$mode);
//hoặc mysql_fetch_row($query)

– Đưa dữ liệu vào đối tượng:

mysql_fetch_object($query);

f.Đóng CSDL

mysql_close();

g.Hiển thị tiếng Việt

mysql_query("SET NAMES ‘utf8’");

Ví dụ tổng hợp

//bước 1: Kết nối tới csdl
$conn=mysql_connect("localhost", "root", "root") or die("can't connect database");
//bước 2: Lựa chọn csdl và cho phép hiển thị mã utf8
mysql_select_db(“php",$conn);
mysql_query("SET NAMES ‘utf8’");
//bước 3: Viết câu lệnh SQL truy vấn
$sql="select * from user";
//bước 4: Thực hiện câu truy vẫn
$query=mysql_query($sql);
//Bước 5: kiểm tra tổng số dữ liệu trả về từ câu lệnh truy vấn
if(mysql_num_rows($query) == 0)
{
    echo ‘Chưa có thành viên nào’;
}else{
//Bước 6:lấy dữ liệu từ câu truy vấn đưa về dạng mảng và hiển thị ra trong vòng lặp while
    while($row=mysql_fetch_array($query))
    {
         echo $row[‘name’].”<br />”;
         echo $row[‘email’].”<br />”;
    }
}
//bước 7: Đóng csdl
mysql_close($conn);



03/09/2014
Written by nobitacnt

Trong bài viết không tránh khỏi những câu từ chưa chính xác,mong nhận được sự góp ý để website hoàn thiện hơn.Nếu thấy bài viết có ích với bạn hãy like và share để ủng hộ nhé :D.

Bài viết chùng chuyên mục

2 Comments

  1. Khách says:
     /  Reply

    Admin cho mình hỏi là trả dữ liệu về dạng mảng có khác gì kieu đối tượng không?

    • nobitacnt says:
       /  Reply

      Chào bạn,khi trả dữ liệu về dạng và đối tượng thì cách lay dữ liệu ra sẽ khác,cả mảng và đối tượng đều có cấu trúc lưu trữ dạng key => value,khi sử dụng mảng thì bạn lấy dữ liệu ra theo dạng $array[‘key’],còn đối tượng thì sẽ lấy theo $array->key.Bạn có thể tìm hiểu thêm về mảng trong php tại đây http://hocphp.info/mang-trong-php/

Gửi bình luận

Giới thiệu

Mình tạo ra blog này với mong muốn chia sẻ và học hỏi kinh nghiệm trong quá trình thiết kế website. Website đang trong quá trình phát triển chân thành cảm ơn mọi sự góp ý của các bạn để làm cho website ngày càng hoàn thiên.

DMCA.com Protection Status
Theo dõi qua Email

Tổng hợp các bài viết về

Hoc php - CodeIgniter Framework - Laravel Framework - PHP va MYSQL