这个程序可以用来浏览MySQL中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器.
*/
/*
?cmd=db
?cmd=table&db={}
?cmd=record&db={}&table={}
*/
$host = 'localhost';
$user = 'test';
$password = '';
if(!isset($cmd)) $cmd = 'db';
switch($cmd){
case 'db':
break;
case 'table':
break;
case 'record':
break;
default:
$cmd = 'db';
break;
}
$con = @mysql_connect($host,$user,$password) or die('无法连接'.$host);
switch($cmd){
case 'db':
$dbs = mysql_list_dbs($con) or die('mysql_list_dbs 出错:'.$php_errmsg);
echo 'databases on '.$host.':<br>'.chr(13);
$num_rows = mysql_num_rows($dbs);
for($i=0;$i<$num_rows;$i++){
$db = mysql_tablename($dbs,$i);
echo ' <a href="'.$PHP_SELF.'?cmd=table&db='.
urlencode($db).'">'.$db.'</a><br>'.chr(13);
}
mysql_free_result($dbs);
break;
case 'table':
$tables = @mysql_list_tables($db,$con) or die('mysql_list_tables 出错:'.
$php_errmsg);
echo 'tables on '.$db.' of '.$host.':<br>'.chr(13);
$num_rows = mysql_num_rows($tables);
for($i=0;$i<$num_rows;$i++){
$table = mysql_tablename($tables,$i);
echo ' <a href="'.$PHP_SELF.'?cmd=record&db='.
urlencode($db).'&table='.urlencode($table).'">'.$table.'</a><br>'.
chr(13);
}
mysql_free_result($tables);
echo '<hr><a href="'.$PHP_SELF.'?cmd=db">show databases</a>'.chr(13);
break;
case 'record':
$records = mysql_db_query($db,'select * from '.$table,$con) or
die('mysql_db_query 出错:'.$php_errmsg);
echo 'records on '.$table.':<br>'.chr(13);
echo '<table border="1" cellspacing="0" cellpadding="0">'.chr(13);
echo '<tr>'.chr(13);
$num_fields = mysql_num_fields($records);
for($i=0;$i<$num_fields;$i++)
echo '<th> '.mysql_field_name($records,$i).'</th>'.chr(13);
echo '</tr>'.chr(13);
while($row=mysql_fetch_row($records)){
echo '<tr>'.chr(13);
for($i=0;$i<$num_fields;$i++)
echo '<td> '.$row[$i].'</td>'.chr(13);
echo '</tr>'.chr(13);
}
echo '</table>'.chr(13);
mysql_free_result($records);
echo '<hr><a href="'.$PHP_SELF.'?cmd=db">show databases</a>
<a href="'.$PHP_SELF.'?cmd=table&db='.urlencode($db).'">show tables
</a>'.chr(13);
break;
}
mysql_close($con) or die('无法与'.$host.'断开连接');
?>
一个简单的php实现的MySQL数据浏览器
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@