本文介紹結果集行指針移動、指定數據庫執行查詢、刪除數據庫、獲取錯誤代碼等核心管理函數,這些是構建數據庫管理工具和高級應用的基礎。
語法: 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);
?>
語法: 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");
?>
語法: 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());
}
?>
語法: 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教程網 | 原文鏈接