首頁 >後端開發 >php教程 >PHP 操作MYSQL基礎知識

PHP 操作MYSQL基礎知識

WBOY
WBOY原創
2016-07-25 08:52:13893瀏覽
  1. mysql_connect()
  2. resource mysql_connect([string hostname [:port] [:/path/to/socket] [, string username] [word,string password] ])
  3. 範例:$conn = @mysql_connect("localhost", "username", "password") or dir("不能連線到Mysql Server");
  4. 使用該連線必須顯示的關閉連線
複製程式碼

建立資料庫連線

mysql_pconnect()
resource mysql_pconnect([string hostname [:port] [:/path/to/socket] [, string username] [, string password]])
範例:$conn = @mysql_pcpconnect(" localhost", "username", "password") or dir("不能連接到Mysql Server");
    使用該連接函數不需要顯示的關閉連接,它相當於使用了連接池
  1. 複製程式碼
關閉資料庫連線

$conn = @mysql_connect("localhost", "username", "password") or die("不能連接到Mysql Server");@mysql_select_db("MyDatabase") or die("不能選擇這個數據庫,或數據庫不存在");

echo "你已經連接到MyDatabase數據庫";
mysql_close();
  1. 複製代碼
選擇資料庫

mysql_select_db()> relink mysql_select_giding 🎜>$conn = @mysql_connect("localhost", "username", "password") or die("不能連接到Mysql Server");

@mysql_select_db("MyDatabase") or die("不能選擇這個資料庫,或數據庫不存在");
    複製代碼
  1. 查詢MySQL
mysql_query()
resource mysql_query (string query, [resource link_id])

$linkId = @mysql_connect("localhost", "username", "password") or die ("不能連接到Mysql Server");@mysql_select_db("MyDatabase") or die("不能選擇這個資料庫,或是資料庫不存在");$query = "select * from MyTable";$result = mysql_query($query);mysql_close();

若SQL查詢執行成功,則傳回資源標識符,失敗時傳回FALSE。若執行更新成功,則回傳TRUE,否則回傳FALSE
    複製程式碼
  1. 查詢MySQL
mysql_db_query()

resource mysql_db_query(string database, string query [ @mysql_connect("localhost", "username", "password") or die("不能連線到MysqlServer");$query = "select * from MyTable";$result = mysql_db_query("MyDatabase" , $query);mysql_close();為了讓程式碼清晰,不建議使用這個函數呼叫

複製程式碼
  1. 取得並顯示資料

mysql_result()mixed mysql_result (resource resultset, introwfield] $query = "select id, name from MyTable order by name";

$result = mysql_query($query);
$c_id = mysql_result($result, 0, "id");
$c_name = mysql_result($result, 0, "name");
    最簡單、也是效率最低的資料取得函數
  1. 複製程式碼
  2. 複製程式碼
取得並顯示資料
mysql_fetch_row() = "select id, name from MyTable order by name";$result = mysql_query($query);while (list($id, $name) = mysql_fetch_row($result)) { echo ("Name: $name ($id)
");}函數從result_set取得整個資料行,將值放在一個索引陣列中。通常會結使list()函數使用複製程式碼

取得並顯示資料

  1. my_fetch_array()
  2. my_fetch_array()
  3. int result_type])
  4. $query = "select id, name from MyTable order by name";
  5. $result = mysql_query($query);
  6. while($row = mysql_fetch_array($result,MYy($result) {
  7. $id = $row["id"];
  8. $name = $row["name"];
  9. echo "Name: $name ($id)
    ";
  10. }
  11. result_type的值有:
MYSQL_ASSOC: 字段名表示鍵,字段內容為值
MYSQL_NUM: 數值索引數組,操作與mysql_fetch_ros()函數一樣MYSQL_BOTH: 即作為關聯數組又是關聯數組以數值索引數組傳回。 result_type的預設值。

複製程式碼

取得並顯示數據
mysql_fetch_assoc()
array mysql_fetch_assoc (resource result_assoc()array mysql_fetch_assoc (resource result_set)array mysql_fetch_assoc( 🎜>

複製程式碼

取得並顯示資料

mysql_fetch_object()object mysql_fetch_object(resource result_set)

$query = "select id, name from MyTable order by name"; > $id = $row->id;
$name = $row->name;
echo "Name: $name ($id)
";
    }
  1. 在操作上與mysql_fetch_array()相同
  2. 複製代碼
所選擇的記錄

mysql_num_rows()

int mysql_num_rows(resource result_set)
#query = "select id, name from MyTable where id > 65";echo "有".mysql_num_rows($result)."筆記錄的ID大於65";
    只有在決定select查詢所取得的記錄數時才有用。
  1. 複製程式碼
受影響的記錄

mysql_affected_rows()
int mysql_affected_rows([resource link_id])

$query = "update MyTable set name="CheneyFu" where id>=5";$echo "ID大於等於5的名稱被更新了的記錄數:".mysql_affected_rows();函數取得受INSERT,UPDATE或DELETE更新語句影響的行數

複製程式碼
  1. 取得資料庫清單資訊
resource mysql_list_dbs([resource link_id])mysql_connect("localhost", "username", "password");$dbs = mysql_list_dbs();ee
";while (list($db) = mysql_fetch_rows($dbs)) {
echo "$db
";
}
  1. 複製程式碼
  2. 取得資料庫名稱

mysql_db_mysql. resource result_set, integer index)該函數獲取在mysql_list_dbs()所返回result_set中位於指定index索引的數據庫名複製代碼

  1. 取得資料庫表格清單
  2. mysql_list_tables()
  3. resource mys_list_tables(string links [tables(string >mysql_connect("localhost", "username", "password");
  4. $tables = mysql_list_tables("MyDatabase");
while (list($table) = mysql_fetch_row($tables)) {
echo "$table
";}此函數取得database中所有表的表名
複製程式碼取得資料庫表名mysql_tablename()string my_tablename(resource result_set, integer ", "username", "password");$tables = mysql_list_tables("MyDatabase");$count = -1;while ( $count while ( $count echo mysql_tablename($tables, $count)."
";}函數取得mysql_list_tables()所傳回result_set中位於指定index索引的表名 複製程式碼

取得欄位資訊

  1. my_fetch_field()
  2. my_fetch_field()
  3. my_fetch_field()mysql_connect("localhost", "username", "password");
  4. mysql_select_db("MyDatabase");
  5. $query = "select * from MyTable";
  6. $result = mysql_query($query);
$fields = mysql_num_fields($result);
for($count = 0; $count $field = mysql_fetch_field($result, $ count); echo "

$field->name $field->type ($field->max_length)

";
}

複製程式碼傳回的物件共有12個物件屬性: name: 欄位名 table: 欄位所在的表 max_length: 欄位的最大長度 not_null: 如果欄位不能為null,則為1,否則0 primary_key: 若欄位為主鍵,則為1,否則0 unique_key: 若欄位是唯一鍵,則為1, 否則0 multiple_key: 若欄位為非唯一,則為1,否則0 numeric: 若欄位為數值則為1,否則0 blob: 若欄位為BLOB則為1,否則為0 type: 欄位的資料類型 unsigned: 若欄位為無符號數則為1,否則為0 zerofill: 若欄位為「零填充」則為1, 否則為0

取得查詢的欄位數
mysql_num_fields()
mysql_num_fields()

mysql_num_fields()

$query = "select id, name from MyTable order by name";$result = mysql_query($query);echo "這個查詢的字段數是:".mysql_num_fields($result). "
";

複製程式碼
  1. 傳回查詢result_set中的欄位數
  2. 取得指定表格的所有欄位的欄位名稱

(string database_name, string table_name [, resource link_id])$fields = mysql_list_fields("MyDatabase", "MyTable");echo "資料庫MyDatabaseMyTableTableTable集的欄位數: ".mysql_num_fields($fields) ."
";

複製程式碼
取得指定的欄位選項

mysql_field_flags()string mysql_field_flags (resource result_set, integerfield_offset)

    取得指定的欄位的最大長度
  1. mysql_field_len()
mysql_field_len()
mysql_field_len()

integer field_offset)$query = "select name from MyTable";$result = mysql_query($query);$row = mysql_fetch_row($result);echocho mysqlfield_lencho(fetch_row($result);

echo mysql_ult_lencho mysql,0$ )."
";
如果mysql_field_len($reseult, 0) = 16777215
那麼numer_format(mysql_field_len($result))等於16,777,215
  1. 取得欄位名稱
mysql_field_name()

mysql_field_name()mysql_field_name()

$query = "select id as PKID, name from MyTable order by name";
    $result = mysql_query($query);
  1. $row = my_fetch_row($result); >echo mysql_field_name($result, 0); // Result: PKID
  2. 複製程式碼
取得欄位類型

mysql_field_type()string mysql_field_type (resource result_set, int field_offset)

Myquery (resource result_set, int field_offset) by name";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
    echo mysql_field_type($result, 0); // Result: int
  1. 複製程式碼
取得欄位所在表名


mysql_field_table()string mysql_field_table (resource result_set, int field_offset)$query = "select id as PKID, name from MyTable order by name";$result = quesqlry); $row = mysql_fetch_row($result);echo mysql_field_table($result, 0); // Result: MyTable複製代碼
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn