php mysql管理_【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具

本节介绍如何自己DIY一个数据库管理工具,可以在页面输入sql 进行简单的增删改查操作。

首先,找到xampp的安装目录,打开htdocs:

php mysql管理_【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具_第1张图片

新建一个php文件,名称为 mysqladmin.php

php mysql管理_【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具_第2张图片

php mysql管理_【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具_第3张图片

1.编写php服务器代码

1.1 写上php标签

首先,还是在这个页面,要写php代码,就需要有一个php标签:

php mysql管理_【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具_第4张图片

我们的php代码要写在这个标签内。

1.2 数据库连接操作

php mysql管理_【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具_第5张图片

xampp安装的mysql默认没有密码,不写就行。

1.3 获取form表单传过来的sql语句

php mysql管理_【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具_第6张图片

1.4 用mysql_query函数执行传过来的sql语句

php mysql管理_【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具_第7张图片

目前为止,代码已经足以对数据库进行增删改,接下来,我们来设计查询sql的实现。

1.5 用split函数分割sql语句,获取表名

php mysql管理_【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具_第8张图片

1.6 通过表名去获取这张表所有的列,并且把列名用一个数组装起来

php mysql管理_【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具_第9张图片

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 "

";

}

}

演示效果如下:

php mysql管理_【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具_第10张图片

完整的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 "

";

}

}

?>

你可能感兴趣的:(php,mysql管理)