您希望从MySQL获得三种信息。
有关查询输出的信息 - 包括受任何SELECT,UPDATE或DELETE语句影响的记录数。
有关表和数据库的信息 - 这包括与表和数据库的结构有关的信息。
有关MySQL服务器的信息 - 其中包括数据库服务器的状态,版本号等。
在MySQL提示符下很容易获得所有这些信息,但是在使用PERL或PHP API时,无涯教程需要显式调用各种API以获得所有这些信息。
获取查询影响的行数
现在让无涯教程看看如何获取此信息。
PERL示例
在DBI脚本中,受影响的行数由 do()或 execute()命令返回,具体取决于您执行查询的方式。
# Method 1 # 使用 do() 执行 $query my $count = $dbh->do ($query); # report 0 rows if an error occurred printf "%d rows were affected\n", (defined ($count) ? $count : 0); # Method 2 # 使用prepare()加上execute()执行查询 my $sth = $dbh->prepare ($query); my $count = $sth->execute ( ); printf "%d rows were affected\n", (defined ($count) ? $count : 0);
PHP示例
在PHP中,调用 mysqli_affected_rows()函数以查找查询更改了多少行。
$result_id = mysqli_query ($conn_id,$sql); # 如果查询失败,报告 0 行 $count = ($result_id ? mysqli_affected_rows ($conn_id) : 0); print ("$count rows were affected\n");
列出表和数据库
列出数据库服务器可用的所有数据库和表非常容易,如果您没有足够的特权,则输出可能为 null 。
除了下面的代码块中显示的方法之外,您还可以使用 SHOW TABLES 或 SHOW DATABASES 查询来获取PHP或PERL中的表或数据库列表。 。
PERL示例
# 获取当前数据库中所有可用的表。 my @tables = $dbh->tables ( ); foreach $table (@tables ){ print "Table Name $table\n"; }
PHP示例
<?php $con = mysqli_connect("localhost", "userid", "password"); if (!$con) { die('Could not connect: ' . mysqli_connect_error()); } $db_list = mysqli_list_dbs($con); while ($db = mysqli_fetch_object($db_list)) { echo $db->Database . "<br />"; } mysqli_close($con); ?>
获取服务器元数据
MySQL中有一些重要的命令,可以在MySQL提示符下执行,也可以使用任何脚本(如PHP)执行以获取有关数据库服务器的各种重要信息。
Sr.No. | Command & 描述 |
---|---|
1 |
SELECT VERSION() 服务器版本字符串 |
2 |
SELECT DATABASE() 当前数据库名称(如果没有则为空) |
3 |
SELECT USER() 当前用户名 |
4 |
SHOW STATUS 服务器状态指示灯 |
5 |
SHOW VARIABLES 服务器配置变量 |
参考链接
https://www.learnfk.com/mysql/mysql-database-info.html
标签:count,教程,rows,数据库,无涯,MySQL,服务器,PHP From: https://blog.51cto.com/u_14033984/8587391