THAO TÁC VỚI CƠ SỞ DỮ LIỆU (MYSQL)

Một phần của tài liệu Lập trình web (Trang 74 - 77)

Bài 4. LẬP TRÌNH WEB ĐỘNG VỚI PHP

4.3. THAO TÁC VỚI CƠ SỞ DỮ LIỆU (MYSQL)

*) Kết nối cơ sở dữ liệu MySQL

Để có thể truy cập và làm việc với cơ sở dữ liệu, bạn phải tạo một kết nối đến cơ sở dữ liệu, sử dụng hàm:

mysql_connect(servername, username, password)

Hàm này trả về kết nối nếu thành công, hay trả về false nếu kết nối lỗi servername: tên server cơ sở dữ liệu.

username, password: tên đăng nhập và password truy cập cơ sở dữ liệu Đóng kết nối cơ sở dữ liệu

mysql_close([ConnectName])

Hàm này đóng kết nối MySQL, nếu không chỉ rõ kết nối, sẽ đóng kết nối sau cùng. Hàm trả về true nếu thành công, trả về false nếu lỗi

Ví dụ:

<?php

$con = mysql_connect("localhost","","");

if (!$con)

exit(“Could not connect: “ . mysql_error()); //In thông báo và thoát script //die(“Could not connect: “ . mysql_error());

mysql_close($con);

?>

4.3.2. Truy xuất dữ liệu

Mở cơ sở dữ liệu MySQL và thực hiện câu lệnh SQL

mysql_select_db (DatabaseName[, ConnectName])

Hàm này để mở cơ sở dữ liệu MySQL, trả về true nếu thành công, hay false nếu lỗi

mysql_query (SQLStatement[, ConnectName])

Hàm này thực hiện câu lệnh SQL trên cơ sở dữ liệu MySQL, nếu là lệnh truy vấn select thì trả về tập các bản ghi truy vấn được RecordSet hay false nếu lỗi. Ngoài các lệnh truy vấn select, các lệnh SQL khác để tạo bảng, sửa bảng, xoá bảng và cập nhật dữ liệu như create table, insert, update, delete…, thực hiện các lệnh này khác lệnh select là không trả về kết quả RecordSet, mà trả về true nếu thành công, hay false nếu lỗi

mysql_free_result(RecordSet)

Hàm này giải phóng bộ nhớ sử dụng bởi RecordSet, trả về true nếu thành công, false nếu hỏng. PHP tự động đóng RecordSet khi kết thúc Script, tuy nhiên bạn có thể sử dụng hàm này để đóng RecordSet và thực hiện một lệnh SQL khác

72

Các phiên bản trước sử dụng hàm sau để mở cơ sở dữ liệu và thực hiện câu lệnh SQL thay cho hai hàm trên

mysql_db_query(DatabaseName, SQLStatement, ConnectName);

ü Truy vấn dữ liệu (Select)

mysql_affected_rows([ConnectName])

Hàm này trả về số bản ghi của hoạt động thực hiện lệnh SQL sau cùng, hay -1 nếu hoạt động này hỏng, nếu không chỉ rõ ConnectName, thì kết nối sau cùng được sử dụng

mysql_num_rows(RecordSet)

Hàm này trả về số bản ghi của RecordSet, hay trả về false nếu lỗi mysql_fetch_row(RecordSet)

Hàm này trả về một bản ghi từ RecordSet như là một mảng, hay False nếu RecordSet không có bản ghi, và di chuyển đến bản ghi kế tiếp trong RecordSet. Mỗi bản ghi trả về là một mảng với chỉ mục là số thứ tự trường, trường đầu tiên có số thứ tự là 0

mysql_fetch_array(RecordSet)

Hàm này trả về một bản ghi từ RecordSet như là một mảng, hay False nếu RecordSet không có bản ghi, và di chuyển đến bản ghi kế tiếp trong RecordSet. Mỗi bản ghi trả về là một mảng với chỉ mục là tên trường hay số thứ tự trường, trường đầu tiên có số thứ tự là 0

mysql_fetch_object(RecordSet)

Hàm này trả về một bản ghi từ RecordSet như là một đối tượng, hay False nếu RecordSet không có bản ghi, và di chuyển đến bản ghi kế tiếp trong RecordSet.

Ví dụ 1:

<?php

header('Content-Type: text/html; charset=windows-1258');

$con = mysql_connect("localhost", "", "");

if (! $con)

exit(“Could not connect: “ . mysql_error()); //In thông báo và thoát script

$sql = "select * from mathang";

mysql_select_db ("banhang", $con);

$rs = mysql_query ($sql);

?>

<html><body><table border=1>

<tr><td><b>Ma hang</b></td>

<td><b>Tenhang</b></td></tr>

<?php

while ($row = mysql_fetch_array($rs)) { //while ($row = mysql_fetch_row($rs)) {

$mahang=$row ["mahang"]; //$mahang=$row [0];

$tenhang=$row ["tenhang"]; //$tenhang=$row [1];

echo "<tr><td>$mahang</td>";

echo "<td>$tenhang</td></tr>";

}

73 mysql_close($con);

?>

</table>

</body></html>

Ví dụ 2:

<?php

header('Content-Type: text/html; charset=windows-1258');

$con = mysql_connect("localhost", "", "");

if (! $con)

die('Could not connect: ' . mysql_error());

$sql = "select * from mathang";

mysql_select_db ("banhang", $con);

$rs = mysql_query ($sql);

?>

<html><body>

<table border=1>

<tr><td><b>Ma hang</b></td>

<td><b>Tenhang</b></td></tr>

<?php

while ($row = mysql_fetch_object($rs)){

$mahang = $row->mahang;

$tenhang = $row->tenhang;

echo "<tr><td>$mahang</td>";

echo "<td>$tenhang</td></tr>";

}

mysql_close($con);

?>

</table>

</body></html>

4.3.3. Thêm mới dữ liệu Ví dụ:

<?php

$con = mysql_connect("localhost", "", "") if (! $con)

die('Could not connect: ' . mysql_error());

mysql_select_db ("banhang", $con);

$sql = "INSERT INTO mathang(tenhang, maloai) VALUES('Ao dai','1')";

$rs = mysql_query($sql);

if (! $rs)

die('Loi them ban ghi: ' . mysql_error());

74 echo "Mã hàng: " . mysql_insert_id();

mysql_close($con);

?>

Hàm mysql_insert_id() trả về giá trị của trường tự động tăng dần phát sinh từ hoạt động insert sau cùng, trả về 0 nếu hoạt động insert không phát sinh giá trị trường tăng dần, hay false nếu hoạt động insert lỗi

4.3.3. Sửa, xoá dữ liệu

*) Sửa dữ liệu Ví dụ:

<?php

$con = mysql_connect("localhost","","");

if (!$con)

exit('Could not connect: ' . mysql_error());

mysql_select_db("banhang", $con);

mysql_query("update mathang set tenhang = 'Ao thun' where mahang = 1");

mysql_close($con);

?>

*) Xoá dữ liệu

<?php

$con = mysql_connect("localhost","","");

if (!$con)

die('Could not connect: ' . mysql_error());

mysql_select_db("banhang");

mysql_query("delete from mathang where mahang=9”);

echo "Records deleted: " . mysql_affected_rows();

mysql_close($con);

?>

Một phần của tài liệu Lập trình web (Trang 74 - 77)

Tải bản đầy đủ (PDF)

(86 trang)