手册上虽然说 mysql_db_name() 用来从 mysql_list_dbs() 的返回值中获取数据库名,但实际上它完全可以用来获取其它的记录内容(数据库名也是数据表中的记录而已)语法如下:
[Plain Text] 纯文本查看 复制代码 string mysql_db_name ( resource $result , int $row [, mixed $field ] )
第 1 个参数 $result 是资源标识符。
第 2 个参数 $row 是记录的行号,0 表示第一行记录, 1 表示第二行记录,依此类推。
第 3 个参数 $field 是个可选参数,表示字段的序号或字段的名称,0 表示第一个字段,1 表示第二个字段,依此类推。
测试代码一:
[PHP] 纯文本查看 复制代码 <?php
require_once("dbfuncs.php");
$link = create_connection();
$db_list = mysql_list_dbs($link);
$i = 0;
$cnt = mysql_num_rows($db_list);
while ($i < $cnt) {
echo mysql_db_name($db_list, $i) . "<br>";
$i++;
}
echo "===========================" . "<br>";
$sql = "SELECT * FROM `pw_members` WHERE `uid` < 10";
$result = execute_sql("pw87", $sql, $link);
$i = 0;
$cnt = mysql_num_rows($result);
while ($i < $cnt) {
echo mysql_db_name($result, $i, "username") . "<br>";
$i++;
}
?>
运行输出:
information_schemamysql
performance_schema
phpbb
phpbb3
phpwind
pw87
test
ultrax
vpn
===========================
admin
bibiyaki
张无忌
星凌化心
星鬼
侧身飞翔
我家的小鸟
natu
程序中所用到的 dbfuncs.php 内容如下:
[PHP] 纯文本查看 复制代码 function create_connection()
{
$link = mysql_connect("localhost", "root", "mypassword")
or die("Can not connect to database<br><br>" . mysql_error());
mysql_query("SET NAMES utf8");
return $link;
}
function execute_sql($database, $sql, $link)
{
$db_selected = mysql_select_db($database, $link)
or die("Select database failed<br><br>" . mysql_error($link));
$result = mysql_query($sql, $link);
return $result;
}
?> |