本节介绍如何自己DIY一个数据库管理工具,可以在页面输入sql 进行简单的增删改查操作。
首先,找到xampp的安装目录,打开htdocs:
新建一个php文件,名称为 mysqladmin.php
1.编写php服务器代码
1.1 写上php标签
首先,还是在这个页面,要写php代码,就需要有一个php标签:
我们的php代码要写在这个标签内。
1.2 数据库连接操作
xampp安装的mysql默认没有密码,不写就行。
1.3 获取form表单传过来的sql语句
1.4 用mysql_query函数执行传过来的sql语句
目前为止,代码已经足以对数据库进行增删改,接下来,我们来设计查询sql的实现。
1.5 用split函数分割sql语句,获取表名
1.6 通过表名去获取这张表所有的列,并且把列名用一个数组装起来
1.7 去查询sql中获取的结果集,展示到页面
if($tableName){
$query = mysql_query("select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME = '$tableName';") or die("
sql报错,错误信息为 ======> ".mysql_error()."
");//对结果集进行遍历 -- mysql_fetch_array
$columns = array(); //储存这张表中所有的字段名称
$count = 0; //记录当前的下标
echo "
echo "
";while($row = mysql_fetch_array($query)){
$columns[$count] = $row["COLUMN_NAME"];
echo "
" . $row["COLUMN_NAME"] . "";$count = $count + 1;
}
echo "
";//echo sizeof($columns);
$query_02 = mysql_query($sql) or die("
sql报错,错误信息为 ======> ".mysql_error()."
");while($row = mysql_fetch_array($query_02)){
echo "
";for($i=0;$i
echo "
" . $row[$columns[$i]] . "";}
echo "
";}
echo "
";}
}
演示效果如下:
完整的mysqladmin.php 代码:
th {background: #eaeaea}
td {border:1px solid #ccc;padding:2px 10px;}
tr:hover {background: skyblue}
//1、连接数据库
$conn = mysql_connect("localhost","root","");
//2、选择test数据库
$db = mysql_select_db("test",$conn);
//3、设置编码集
mysql_query("set names utf8");
$sql = "";
if(isset($_POST["sql"]) && $_POST["sql"] != null){
$sql = $_POST["sql"];
echo "
您执行的sql为:$sql
";echo "";
//开始真的执行sql
$query_origin = mysql_query($sql) or die("
sql报错,错误信息为 ======> ".mysql_error()."
");echo "
执行成功!
";/*
如果是update语句,则返回一个数字
如果是select语句,则返回一个结果集,比如:Resource id #6
*/
//echo $query;
//echo strpos($query."",'Resource');
//select COLUMN_NAME from information_schema.`COLUMNS` where TABLE_NAME = 'tm_users';
//根据sql语句获取表名
$arr = split(" ",$sql);
$tableName = "";
for($i=0;$i
if($arr[$i] == "from"){
$tableName = $arr[$i+1];
break;
}
}
//echo $tableName;
//如果表名存在,就去查询这个表中所有的字段
if($tableName){
$query = mysql_query("select COLUMN_NAME from information_schema.`COLUMNS` where TABLE_NAME = '$tableName'") or die("
sql报错,错误信息为 ======> ".mysql_error()."
");$columns = array();
$count = 0;
echo "
while($row=mysql_fetch_array($query)){
$columns[$count++] = $row['COLUMN_NAME'];
}
//遍历数组
for($i=0;$i
echo "
$columns[$i]";}
echo "
";//然后去这张表里面查询
while($row=mysql_fetch_array($query_origin)){
//遍历这张表的列名,然后对应从行中取值
for($i=0;$i
echo "
" . $row["$columns[$i]"] . "";}
//每遍历好一行,就换行
echo "
";}
echo "
";}
}
?>