CƠ HỘI ĐẦU TƯ TRONG LỊCH SỬ KHÔNG THỂ BỎ QUA?

HƯỚNG DẪN TOÀN TẬP ĐẦU TƯ VỚI THỊ TRƯỜNG BITCOIN 2020

>> Xem tại đây <<

Trang chủ / MySQL / Bài 10 : Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL (phần 2)

Bài 10 : Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL (phần 2)

>> Xem phần 1 tại đây  <<

Các hàm PHP sử dụng để truy cập cơ sở dữ liệu MySQL

Dưới đây, mình tổng các hàm PHP được sử dụng để truy cập cơ sử liệu MySQL

  1. int mysql_affected_rows( [resource link_identifier]): trả về số lượng các hàng bị tác động bởi các câu truy vấn cuối cùng INSERT, UPDATE hay DELETE kết hợp với định danh liên kết (link_identifier). Nếu nhận dạng liên kết không cụ thể thì liên kết cuối cùng được mở ra bởi mysql_connect( ). Chú ý khi bạn đang sử dụng các giao dịch, bạn phải gọi mysql_affected_rows( ) sau truy vấn INSERT, UPDATE hay DELETE.
  2. int mysql_character_set_name ( [resource link_identifier]):trả về ký tự mặc định gán tên cho kết nối hiện hành.
  3. bool mysql_close ( [resource link_identifier]): trả về TRUE nếu thành công, FALSE nếu thất bại. Hàm này đóng kết nối đến MySQL server mà kết hợp với nhận dạng liên kết định rõ, nếu link_identifier không định rõ thì liên kết mở cuối cùng sẽ được sử dụng. Việc sử dụng hàm này không phải lúc nào cũng cần thiết, như đối với các liên kết mở không liên tục thì nó sẽ tự động đóng khi kết thúc sự thực thi của script. Chú ý hàm này không đóng kết nối liên tục được tạo bởi hàm mysql_pconnect( ).
  4.  resource mysql_connect ( [string server [, string username [, string password [, bool new_link]]]]): trả về một định danh liên kết MySQL khi thành công, còn không trả về giá trị FALSE. Hàm này thiết lập một kết nối đến MySQL server. Những giá trị mặc định sau được dùng cho các tham số tùy chọn không khai báo: server=’localhost:3306′, username=tên của người sử dụng là chủ của server và password= bỏ trống. Nếu lời gọi lần thứ hai được tạo bởi mysql_connect( ) với cùng các tham số mà không có liên kết mới nào được thiết lập,nhưng thay vào đó một liên kết định danh của cổng đang được mở sẽ được trả về. Tham số new_link mô tả hành vi này và làm cho hàm mysql_connect( ) luôn mở một liên kết mới, ngay cả khi nếu hàm mysql_connect( ) bị gọi trước với cùng các tham số. Liên kết đến server sẽ bị đóng ngay khi việc thực thi của script kết thúc,trừ khi nó bị đóng sớm hơn bởi hàm gọi mysql_close( ).
  5.  bool mysql_create_db ( string database name [, resource link_identifier]): tạo một cơ sở dữ liệu mới trên server kết hợp với liên kết định danh được chỉ định. Trả về giá trị TRUE nếu thành công, ngược lại trả về FALSE.
  6.  bool mysql_data_seek ( resource result_identifier, int row_number): di chuyển con trỏ hàng bên trong của kết quả MySQL kết hợp với kết quả định danh cụ thể để chỉ đến số hàng được chỉ định. Nó sẽ trả về TRUE nếu thành công, ngược lại trả về FALSE.Row_number bắt đầu tại 0, và nên có giá trị trong khoảng từ 0 đến mysql_num_rows – 1.
  7.  string mysql_db_name ( resource result, int row [, mixed field]): lấy tham số đầu tiên là con trỏ kết quả từ việc gọi hàm mysql_list_dbs( ). Tham số hàng là chỉ mục đến kết quả gán. Nếu xảy ra lỗi, thì trả về FALSE.Sử dụng hàm mysql_errono( ) và mysql_error( ) để xem bản chất lỗi.
  8.  resource mysql_db_query ( string database, string query [, resource link_identifier]): chọn một cơ sở dữ liệu và thực thi một truy vấn trên nó. Nếu liên kết định danh tùy chọn không được chỉ định hàm sẽ cố tìm ra một liên kết mở đến MySQL server và nếu không có liên kết nào được tìm thấy thì nó sẽ tạo ra một liên kết như nếu hàm mysql_connect( ) đã được gọi không có tham số nào. Hàm sẽ trả về một kết quả MySQL dương, hay là FALSE nếu bị lỗi.
  9.  bool mysql_drop_db ( string database_name [, resource link_identifier]): huỷ bỏ toàn bộ cơ sở dữ liệu từ server kết hợp với liên kết định danh chỉ định. Trả về TRUE nếu thành công, FALSE nếu gặp lỗi.
  10.  int mysql_errno ( [resource link_identifier]): trả về số lỗi từ hàm MySQL cuối cùng, hay là 0 nếu không có lỗi nào.
  11.  string mysql_error ( [resource link_identifier]): trả về văn bản lỗi từ hàm MySQL cuối cùng hay ‘ ‘ nếu không có lỗi nào.
  12.  string mysql_escape_string ( string unescaped_string): tránh unescaped_string để nó có thể ở nơi an toàn trong mysql_querry( ).
  13.  array mysql_fetch_array ( resource result [, int result_type]): trả về một mảng tương đương với hàng tìm nạp, hay là FALSE nếu không có hàng nào.
  14.  array mysql_fetch_assoc ( resource result): trả về một mảng kết hợp tương đương với hàng tìm nạp, hay là FALSE nếu không có hàng nào.
  15.  object mysql_fetch_field ( resource result [, int field_offset]): trả về một đối tương chứa thông tin các trường. Nó thường được dùng để lấy thông tin về các trường trong một kết quả truy vấn.
  16.  array mysql_fetch_lengths ( resource result): trả về một mảng tương đương với chiều dài của mỗi trường trong hàng cuối cùng được tìm nạp bởi mysql_fetch_row() hay trả về FALSE nếu lỗi.
  17.  object mysql_fetch_object ( resource result): trả về một đối tượng với các thuộc tính tương đương với hàng tìm nạp hay FALSE nếu không có hàng nào.
  18.  array mysql_fetch_row ( resource result): trả về một mảng tương đương với hàng tìm nạp, nếu không có hàng nào thì trả về FALSE.
  19.  string mysql_field_flags ( resource result, int field_offset): trả về trường các cờ của trường được chỉ định.
  20.  int mysql_field_len ( resource result, int field_offset): trả về chiều dài của trường được chỉ định.
  21.  string mysql_field_name ( resource result, int field_index): trả về tên của trường chỉ mục được chỉ định.
  22.  int mysql_field_seek ( resource result, int field_offset): tìm kiếm offset của trường được chỉ định.
  23.  string mysql_field_table ( resource result, int field_offset): trả về tên của bảng mà trường được chỉ định ở trong đó.
  24.  string mysql_field_type ( resource result, int field_offset): trả về loại của trường được chỉ định .
  25.  bool mysql_free_result ( resource result): giải phóng tất cả bộ nhớ kết hợp với định danh kết quả result. Hàm này chỉ được gọi khi bạn quan tâm đến bao nhiêu bộ nhớ đang được sử dụng cho các câu truy vấn mà trả về các tập hợp lớn các kết quả. Tất cả kết quả bộ nhớ kết hợp sẽ tự động được giải phóng khi script kết thúc thực hiện. Trả về TRUE nếu thành công, FALSE nếu thất bại.
  26.  string mysql_get_client_info ( void): trả về chuỗi biểu thị phiên bản thư viện của client.
  27.  string mysql_get_host_info ( [resource link_identifier]): trả về chuỗi mô tả loại kết nối được dùng cho kết nối link_indentifier,bao gồm cả tên của server host. Nếu link_indentifier bị bỏ qua, thì kết nối được mở cuối cùng sẽ được sử dụng.
  28.  int mysql_get_proto_info ( [resource link_identifier]): trả về phiên bản giao thức được dùng bởi kết nối link_identifier. Nếu link_identifier bị bỏ qua, kết nối mở cuối cùng sẽ được dùng.
  29.  string mysql_get_server_info ( [resource link_identifier]): trả về phiên bản của server được dùng bởi kết nối link_identifier, nếu link_identifier bị bỏ qua, kết nối được mở cuối cùng sẽ được sử dụng.
  30.  string mysql_info ( [resource link_identifier]): trả về thông tin chi tiết về truy vấn cuối cùng sử dụng link_identifier.Nếu link_identifier không được chỉ định, liên kết cuối cùng được mở sẽ được thừa nhận.
  31.  int mysql_insert_id ( [resource link_identifier]): trả về ID được tạo cho bởi cột AUTO_INCREMENT bởi câu lệnh truy vấn INSERT trước đó sử dụng link_identifier được cho. Nếu link_identifier không được chỉ định, liên kết mở cuối cùng sẽ được thừa nhận.
  32.  resource mysql_list_dbs ( [resource link_identifier]): trả về con trỏ kết quả chứa các cơ sở dữ liệu có sẵn từ daemon mysql hiện hành.
  33.  resource mysql_list_fields ( string database_name, string table_name [, resource link_identifier]): truy xuất thông tin về tên các bảng cho trước. Các tham số là tên các cơ sở dữ liệu hay tên các bảng.
  34.  resource mysql_list_processes ( [resource link_identifier]): trả về con trỏ kết quả mô tả các luồng hiện hành của server.
  35.  resource mysql_list_tables ( string database [, resource link_identifier]): lấy tên cơ sở dữ liệu và trả về con trỏ kết quả.
  36.  int mysql_num_fields ( resource result): trả về số lượng các trường trong tập hợp kết quả.
  37.  int mysql_num_rows ( resource result): trả về số lượng các hàng trong tập hợp kết quả. Hàm này chỉ đúng cho các câu lệnh SELECT.
  38.  resource mysql_pconnect ( [string server [, string username [, string password]]]): thiết lập kết nối đến MySQL server.
  39.  bool mysql_ping ( [resource link_identifier]): kiểm tra kết nối đến server có làm việc hay không. Nếu nó không làm việc thì một kết lại tự động thực hiện. Hàm này có thể được dùng bởi các script mà giữ nguyên trạng thái nhàn rỗi trong một lúc để kiểm tra xem server có đóng kết nối và kết nối lại nếu cần thiết hay không. Hàm này sẽ trả về TRUE nếu kết nối đến server đang làm việc nếu không thì trả về FALSE.
  40.  resource mysql_query ( string query [, resource link_identifier [, int result_mode]]): gởi một truy vấn đến cơ sở dữ liệu hiện hành đang hoạt động trên server mà kết hợp với định danh liên kết được chỉ định. Nếu link_identifier không được chỉ định, liên kết mở cuối cùng sẽ được thừa nhận. Nếu không có liên kết nào được mở, hàm sẽ cố thiết lập một liên kết nếu mysql_connect( ) đã được gọi không có tham số nào và dùng nó.
  41.  string mysql_real_escape_string ( string unescaped_string [, resource link_identifier]): tránh được các kí tự đặc biệt trong unescaped_string, trả về tập hợp kí tự hiện hành của kết nối.
  42.  mixed mysql_result ( resource result, int row [, mixed field]): trả về nội dung của một cell từ tập hợp kết quả MySQL. Tham số trường có thể là offset của trường hay là tên trường hay là tên bảng của trường.tên trường. Nếu tên cột có tên hiệu thì sử dụng tên hiệu thay cho tên cột.
  43.  bool mysql_select_db ( string database_name [, resource link_identifier]): gán cơ sở dữ liệu hiện hành hoạt động trên server mà kết hợp với định danh liên kết chỉ định. Nếu không có định danh liên kết nào được chỉ định thí liên kết mở cuối cùng được thừa nhận. Nếu không có liên kết nào được mở thì hàm sẽ cố thiết lập mộ liên kết như khi hàm mysql_connect( ) đã được gọi không có tham số và sử dụng nó
  44.  string mysql_stat ( [resource link_identifier]): trả về tình trạng hiện hành của server.
  45.  string mysql_tablename ( resource result, int i): trả về tên bảng của trường, lấy con trỏ kết quả trả về bởi hàm mysql_list_table( ) cũng như chỉ mục integer.
  46.  int mysql_thread_id ( [resource link_identifier]): trả về ID của thread hiện hành. Nếu kết nối bị mất và bạn kết nối lại với mysql_ping( ), thì ID của thread sẽ bị thay đổi. Điều này có nghĩa là bạn không nên lấy ID của thread và chứa nó cho sau này. Bạn nên lấy nó khi nào bạn cần nó.
  47.  resource mysql_unbuffered_query ( string query [, resource link_identifier [, int result_mode]]): gởi một truy vấn SQL query đến MySQL mà không cần các hàng kết quả tìm nạp và đệm một cách tự động như mysql_query( ).

Sau đây là ví dụ đơn giản trình bày cách kết nối, thực thi câu truy vấn, in các hàng kết quả và ngừng kết nối từ cơ sở dữ liệu MySQL.

<?php
    /* Kết nối,chọn cơ sở dữ liệu */
    $link = mysql_connect("mysql_host", "mysql_user", "mysql_password") or die("Could not connect");
    echo "Connected successfully";
    mysql_select_db("my_database") or die("Could not select database");
    /* Thực hiện câu truy vấn SQL */
    $query = "SELECT * FROM my_table";
    $result = mysql_query($query) or die("Query failed");
    /* In kết quả ra trang *.HTML */
    print "<table> ";
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        print " <tr> ";
    foreach ($line as $col_value) {
        print " <td>$col_value</td> ";
    }
        print " </tr> ";
    }
    print "</table> ";
    /* Free resultset */
    mysql_free_result($result);
    /*Đóng kết nối */
    mysql_close($link);
    ?>

Sự cần thiết của một cơ sở dữ liệu không chỉ bởi nhu cầu phục vụ, tạo ra các nguồn tài liệu một cách phong phú, mà bởi sự tăng lên của nhu cầu truy cập các thông tin “trực tiếp” trong ngày bằng việc sử dụng một giao diện đơn giản và hợp nhất.

Bạn có thể cho phép mọi người trong các văn phòng bán hàng truy vấn một cơ sở dữ liệu hàng tồn kho. Cơ sỡ dữ liệu này có thể được xây dựng khác, chạy trên một hệ điều hành hoàn toàn khác với máy tính của người dùng.
Với một web server có cấu hình tốt, một cơ sở dữ liệu server( chẳng hạn như MySQL), và một vài “phép thần thông” của PHP, chỉ những thứ người dùng cần mới có thể có trên trình duyệt web.
Cuối cùng: nếu bạn cần các thông tin luôn năng động, cập nhật, bạn cần phải phát triển một cơ sở dữ liệu đằng sau ứng dụng web.Với một cơ sở dữ liệu phía sau, web site của bạn sẽ đạt được một trình độ phức tạp và linh hoạt, nơi mà dữ liệu được tạo ra và sử dụng, thông tin được làm cho có ý nghĩa với người dùng mà không cần phải bắt buộc nó phải “đúc nặn” lại cho vừa với cách hiển thị hay tổ chức nó.

Kiến trúc của một ứng dụng Web Database

Các phần cơ bản của ứng dụng Web Database là:

  1. Client: trình duyệt web của người dùng, một java applet, một ứng dụng java, thậm chí là một platform phụ thuộc vào chương trình của client.
  2. Ứng dụng logic: mã hoá các thuật toán sử dụng trong các scripts CGI, các modul đặc biệt của web server, thậm chí một ứng dụng phụ thuộc vào server.
  3. Kết nối database: the database API, hay là các giao thức kết nối thông thường như ODBC hay JDBC.
  4. Database server: RDBMS, ODBMS…

Việc thực hiện các ứng dụng đó có thể được thực hiện bởi sử dụng mô hình nhiều lớp, bởi một hay nhiều lớp có thể kết hợp với nhau. Cách thực hiện thông thường nhất là hệ thống ba lớp.

  1. Lớp thứ 1: web client( ví dụ như trình duyệt web của người dùng).
  2. Lớp thứ 2: web server, các scripts của CGI, kết nối API đến database.
  3. Lớp thứ 3: database server (ví dụ MySQL server).

Một giao dịch chính của Web database bao gồm các giai đoạn sau:

  1. Trình duyệt Web của người dùng sẽ đưa ra một yêu cầu HTTP cho một trang web riêng biệt… Ví dụ, muốn viết ý kiến của mình vào guestbook, sau khi điền vào các thông tin cần thiết theo yêu cầu vào trong các form HTML, người dùng bấm vào nút “Gởi đi”, thì thông tin vừa mới viết đó sẽ được hiển thị trên trang index.php
  2. Web server sẽ nhận được một yêu cầu cho trang index.php, nó sẽ truy xuất file này và chuyển nó qua PHP engine để xử lý.
  3. PHP engine bắt đầu phân tích script. Bên trong script là một yêu cầu kết nối đến cơ sở dữ liệu và thực thi một truy vấn. PHP mở một kết nối đến MySQL server và gởi trên một truy vấn chính xác.
  4. MySQL server nhận một truy vấn dữ liệu và xữ lý nó, sau đó gởi các kết quả về lại cho PHP engine.
  5. PHP engine hoàn thành việc chạy script mà thường liên quan đến định dạng các kết quả truy vấn trong HTML. Sau đó nó trả kết quả HTML về lại Web server.
  6. Web server chuyển HTML về lại trình duyệt, nơi mà bạn có thể thấy danh sách các quyển sách mà bạn đã yêu cầu.
    Quá trình này là căn bản tương tự đối với các script engine hay các database server mà chúng ta dùng. Thường thì một phần mềm Web server, PHP engine, và database server tất cả cùng chạy trên cùng một máy. Tuy nhiên, việc database server chạy trên một máy khác cũng là điều khá thông dụng. Bạn có thể làm được điều này bởi các lý do bảo mật, tăng dung lượng .

Bình luận trực tiếp ↓

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *