首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 數據庫函數詳解 (二):數據指針操作、數據庫查詢與管理函數

     編輯:MySQL 資料庫相關知識

MySQL 結果集指針控制、數據庫操作與錯誤碼獲取

本文介紹結果集行指針移動、指定數據庫執行查詢、刪除數據庫、獲取錯誤代碼等核心管理函數,這些是構建數據庫管理工具和高級應用的基礎。

1. mysql_data_seek() - 移動結果集行指針

語法: int mysql_data_seek(int result_id, int row_number)

將結果集的內部行指針移動到指定行號(0 到 mysql_num_rows()-1)。成功返回 true,失敗返回 false。常用於重複讀取結果集、倒序遍歷、隨機訪問特定行等場景。

<?php
$link = mysql_pconnect("localhost", "sunsoft", "suixiang") or die("Could not connect");
mysql_select_db("samp_db") or die("Could not select database");
$query = "SELECT last_name, first_name FROM president";
$result = mysql_query($query) or die("Query failed");

// 倒序遍歷示例
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
    if (!mysql_data_seek($result, $i)) {
        printf("Cannot seek to row %d
", $i); continue; } $row = mysql_fetch_object($result); if (!$row) continue; printf("%s %s<br>", $row->last_name, $row->first_name); } mysql_free_result($result); ?>

2. mysql_db_query() - 在指定數據庫執行查詢

語法: int mysql_db_query(string database, string query [, int link_id])

相當於先 mysql_select_db() 再 mysql_query(),但僅對該查詢生效。返回結果集標識符或 false。注意:此函數在新版本中已棄用,建議使用 mysql_select_db() + mysql_query()。

<?php
$link = mysql_pconnect("localhost", "sunsoft", "suixiang") or die("Could not connect");
echo "Connected successfully";
$query = "SELECT * FROM president";
$result = mysql_db_query("samp_db", $query) or die("Query failed");
?>

3. mysql_drop_db() - 刪除數據庫

語法: int mysql_drop_db(string database_name [, int link_id])

刪除指定數據庫,需 DROP 權限。成功返回 true,失敗返回 false。警告:操作不可逆,數據將永久丟失! 建議使用 mysql_query("DROP DATABASE ...") 替代,功能更標準。

<?php
$link = mysql_pconnect("localhost", "sunsoft", "suixiang") or die("Could not connect");
if (mysql_drop_db("my_db")) {
    echo "Database dropped successfully";
} else {
    printf("Error dropping database: %s", mysql_error());
}
?>

4. mysql_errno() - 獲取錯誤代碼

語法: int mysql_errno([int link_id])

返回最近一次 MySQL 操作的錯誤代碼(整數)。0 表示無錯誤。錯誤代碼可用於程序化錯誤處理(如判斷重複鍵錯誤 1062、連接失敗 2003 等),比錯誤信息更適合邏輯判斷。

<?php
$link = mysql_pconnect("localhost", "sunsoft", "suixiang") or die("Could not connect");
echo "Connected successfully";
$query = "SELECT * FROM president";
$result = mysql_query($query) or die("Query failed, error code: " . mysql_errno());
?>

總結

mysql_data_seek() 賦予結果集隨機訪問能力,mysql_db_query() 簡化了臨時切換數據庫的操作(但建議棄用),mysql_drop_db() 是危險操作需謹慎使用,mysql_errno() 則是構建智能錯誤處理機制的關鍵。實際項目中應優先使用 PDO 或 MySQLi 替代這些舊擴展函數。

本文來源:52教程網 | 原文鏈接

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved