Truy cập MySQL từ PHP.

Một phần của tài liệu Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online (Trang 51)

Để connect tới 1 cơ sở dữ liệu trên MySQL server, ta dùng hàm:

mysql_connect(host, user, password) để mở kết nối tới MySQL server với kết quả là giá trị trả về của hàm( giả sử là biến $db).

Sau đó, dùng hàm mysql_select_db(database_name,link_id) để chọn cơ sở dữ liệu muốn kết nối.

Để thực hiện một câu lệnh truy vấn, dùng hàm mysql_query(query, link_id). Gía trị trả lại của hàm là kết quả của câu truy vấn. Nếu bỏ qua link_id thị kết nối cuối cùng tới MySQL server sẽ được thực hiện.

<html> <body> <?php

$db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db);

$result = mysql_query("SELECT * FROM employees",$db); printf("First Name: %s<br>\n", mysql_result($result,0,"first")); printf("Last Name: %s<br>\n", mysql_result($result,0,"last")); printf("Address: %s<br>\n", mysql_result($result,0,"address")); printf("Position: %s<br>\n", mysql_result($result,0,"position")); ?>

</body> </html>

Ngoài cách dùng hàm mysql_result() để lấy kết quả thực hiện, ta có thể dùng các hàm khác: mysql_fetch_row(), mysql_fetch_array(), và mysql_fetch_object().

mysql_fetch_row($result): Trả về một mảng các dữ liệu lấy từ 1 dòng trong cơ sở dữ liệu. Nếu đã ở cuối cơ sở dữ liệu, giá trị trả về là false. Ta phải dùng chỉ số của các trường trong cơ sở dữ liệu nếu muốn lấy dữ liệu.

VD: <html> <body> <?php $db=mysql_connect("localhost","root"); mysql_select_db("mydb",$db); $result=mysql_query("SELECT*FROMemployees",$db);

echo"<tableborder=1>\n"; echo"<tr><td>Name</td><td>Position</tr>\n"; while($myrow=mysql_fetch_row($result)){ printf("<tr><td>%s%s</td><td>%s</td></tr>\n",$myrow[1], $myrow[2],$myrow[3]); } echo"</table>\n"; ?> </body> </html>

mysql_fetch_array (int result[, int result_type]): Trả về một mảng chứa dữ liệu lấy từ một dòng trong cơ sở dữ liệu. Tương tự như mysql_fetch_row() nhưng ta có thể lấy trực tiếp tên trường để lấy dữ liệu.

VD: Cùng một cơ sở dữ liệu như trên, ta có thể thấy sự khác biệt <html> <body> <?php $db=mysql_connect("localhost","root"); mysql_select_db("mydb",$db); $result=mysql_query("SELECT*FROMemployees",$db); if($myrow=mysql_fetch_array($result)){ do{ printf("<ahref=\"%s?id=%s\">%s%s</a><br>\n",$PHP_SELF, $myrow["id"],$myrow["first"],$myrow["last"]); }while($myrow=mysql_fetch_array($result)); }else{

echo"Sorry,norecordswerefound!"; ?>

</body > </html>

mysql_fetch_object: Chuyển kết quả thành một đối tượng với các trường là các trường của cơ sở dữ liệu.

VD : <?php

mysql_connect ($host, $user, $password);

$result = mysql_db_query ("database", "select * from table"); while ($row = mysql_fetch_object ($result)) {

echo $row->user_id; echo $row->fullname; } mysql_free_result ($result); ?> 2.3.5. Lý do lựa chọn ngôn ngữ.

Thứ nhất là những chương trình tạo bởi PHP và MySQL có tốc độ truy xuất và xử lý dữ liệu nhanh và mạnh. Tốc độ dịch của nó được các chuyên gia đánh giá là nhanh hơn ASP 5 lần

Thứ hai là do có mã nguồn mở nên chúng ta có thể tái sử dụng, cải tiến, phát triển và khắc phục những lỗi của chương trình .

Thứ ba là chúng rất ổn định và tương hợp, vận hành ổn định trên các hệ điều hành gồm cả Windows và Unix…, và kết nối tốt với các máy chủ như IIS và Apache.

Thứ tư là chúng rất dễ tiếp cận để tìm hiểu và xây dựng các ứng dụng do có cú pháp và cấu trúc gần giống với những ngôn ngữ truyền thống, cũng như cấu trúc module của các ứng dụng.

Thứ năm là PHP hỗ trợ cơ chế kết nối cơ sở dữ liệu ADO, các lệnh của PHP gần gũi với một số ngôn ngữ lập trình khác như C và Perl.

Phần III:

Một phần của tài liệu Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online (Trang 51)