Saturday, 2 April 2011

Phân biệt mysql_fetch_assoc,mysql_fetch_array,mysql_fetch_object



Lấy dữ liệu từ DB ra tưởng như đơn giản nhưng lựa chọn cách lấy nào ? lấy ra sao ? nó sẽ hiển thị thế nào?
Đây là câu trả lời:

Các lệnh mysql_fetch_assoc,mysql_fetch_array,mysql_fetch_object đều dùng để fetch dữ liệu từ câu query, tuy nhiên dữ liệu trả về sẽ có dạng khác nhau ứng với mỗi câu lệnh.
Ví dụ:
• $sql = mysql_query("SELECT * FROM table WHERE id=id");



+ mysql_fetch_assoc():
• $rs = mysql_fetch_assoc($sql);

Dữ liệu trả về sẽ có dạng:
Array(
'tên_field1'=>giá trị 1,
'tên_field2'=>giá trị 2,
'tên_field3'=>giá trị 3,
);

Và 1 mảng như vậy gọi là associative array
Hiển thị dữ liệu:
• echo $rs['tên_field1'],$rs['tên_field2']
+ mysql_fetch_row():
PHP CodeCopy To Clipboard
• $rs = mysql_fetch_row($sql);

Dữ liệu trả về sẽ có dạng:
Array(
Mã PHP: (SELECT ALL)
0=>giá trị 1,
1=>giá trị 2,
2=>giá trị 3,
);

Và 1 mảng như vậy gọi là enumerated array
Hiển thị dữ liệu
echo $rs[0],$rs[1]
+ mysql_fetch_array():
$rs = mysql_fetch_array($sql,mode_fetch);
trong đó mode_fetch có các giá trị:
+ MYSQL_ASSOC: trả về associative array(giống mysql_fetch_assoc())
+ MYSQL_NUM: trả về enumerated array(giống mysql_fetch_row())
+MYSQL_BOTH : (mặc định)
Dữ liệu trả về sẽ có dạng:
Array(
'tên_field1'=>giá trị 1,
0=>giá trị 1,
'tên_field2'=>giá trị 2,
1=>giá trị 2,
'tên_field3'=>giá trị 3,
2=>giá trị 3,
);

Hiển thị dữ liệu:
• echo $rs['tên_field1'],$rs['tên_field2']; //hoặc
• echo $rs[0],$rs[1]; // 0,1 là thự tự của các field trong table

+ mysql_fetch_object():
• $rs = mysql_fetch_object($sql);

Dữ liệu trả về sẽ có dạng:
Object (
'tên_field1'=>giá trị 1,
'tên_field2'=>giá trị 2,
'tên_field3'=>giá trị 3,
);

Hiển thị dữ liệu:
• echo $rs->tên_fiel1,$rs->tên_fiel2,..

Còn đây là một số hàm của Mysql_ trong PHP
PHP MySQL Functions

Còn đây là một số hàm của Mysql_ trong PHP .

Đừng nản lòng khi nhìn những hàm này. Bạn sẽ chẳng bao giờ dùng hết chúng !

Function Description PHP
mysql_affected_rows() Returns the number of affected rows in the previous MySQL operation 3
mysql_change_user() Deprecated. Changes the user of the current MySQL connection 3
mysql_client_encoding() Returns the name of the character set for the current connection 4
mysql_close() Closes a non-persistent MySQL connection 3
mysql_connect() Opens a non-persistent MySQL connection 3
mysql_create_db() Deprecated. Creates a new MySQL database. Use mysql_query() instead 3
mysql_data_seek() Moves the record pointer 3
mysql_db_name() Returns a database name from a call to mysql_list_dbs() 3
mysql_db_query() Deprecated. Sends a MySQL query. Use mysql_select_db() and mysql_query() instead 3
mysql_drop_db() Deprecated. Deletes a MySQL database. Use mysql_query() instead 3
mysql_errno() Returns the error number of the last MySQL operation 3
mysql_error() Returns the error description of the last MySQL operation 3
mysql_escape_string() Deprecated. Escapes a string for use in a mysql_query. Use mysql_real_escape_string() instead 4
mysql_fetch_array() Returns a row from a recordset as an associative array and/or a numeric array 3
mysql_fetch_assoc() Returns a row from a recordset as an associative array 4
mysql_fetch_field() Returns column info from a recordset as an object 3
mysql_fetch_lengths() Returns the length of the contents of each field in a result row 3
mysql_fetch_object() Returns a row from a recordset as an object 3
mysql_fetch_row() Returns a row from a recordset as a numeric array 3
mysql_field_flags() Returns the flags associated with a field in a recordset 3
mysql_field_len() Returns the maximum length of a field in a recordset 3
mysql_field_name() Returns the name of a field in a recordset 3
mysql_field_seek() Moves the result pointer to a specified field 3
mysql_field_table() Returns the name of the table the specified field is in 3
mysql_field_type() Returns the type of a field in a recordset 3
mysql_free_result() Free result memory 3
mysql_get_client_info() Returns MySQL client info 4
mysql_get_host_info() Returns MySQL host info 4
mysql_get_proto_info() Returns MySQL protocol info 4
mysql_get_server_info() Returns MySQL server info 4
mysql_info() Returns information about the last query 4
mysql_insert_id() Returns the AUTO_INCREMENT ID generated from the previous INSERT operation 3
mysql_list_dbs() Lists available databases on a MySQL server 3
mysql_list_fields() Deprecated. Lists MySQL table fields. Use mysql_query() instead 3
mysql_list_processes() Lists MySQL processes 4
mysql_list_tables() Deprecated. Lists tables in a MySQL database. Use mysql_query() instead 3
mysql_num_fields() Returns the number of fields in a recordset 3
mysql_num_rows() Returns the number of rows in a recordset 3
mysql_pconnect() Opens a persistent MySQL connection 3
mysql_ping() Pings a server connection or reconnects if there is no connection 4
mysql_query() Executes a query on a MySQL database 3
mysql_real_escape_string() Escapes a string for use in SQL statements 4
mysql_result() Returns the value of a field in a recordset 3
mysql_select_db() Sets the active MySQL database 3
mysql_stat() Returns the current system status of the MySQL server 4
mysql_tablename() Deprecated. Returns the table name of field. Use mysql_query() instead 3
mysql_thread_id() Returns the current thread ID 4
mysql_unbuffered_query() Executes a query on a MySQL database (without fetching / buffering the result) 4

Nguồn : laptrinhcoban.blogspot.com

No comments:

Post a Comment