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

本节介绍如何自己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("<p style=‘color:red‘>sql报错,错误信息为 ======> ".mysql_error()."</p>");

            //对结果集进行遍历 -- mysql_fetch_array

            $columns = array(); //储存这张表中所有的字段名称
            $count = 0; //记录当前的下标

            echo "<table>";

            echo "<tr>";

            while($row = mysql_fetch_array($query)){

                $columns[$count] =  $row["COLUMN_NAME"];

                echo "<td>" . $row["COLUMN_NAME"] . "</td>";

                $count = $count + 1;

            }

            echo "</tr>";

            //echo sizeof($columns);

            $query_02 = mysql_query($sql) or die("<p style=‘color:red‘>sql报错,错误信息为 ======> ".mysql_error()."</p>");

            while($row = mysql_fetch_array($query_02)){

                echo "<tr>";
                for($i=0;$i<sizeof($columns);$i++){
                    echo "<td>" . $row[$columns[$i]] . "</td>";
                }
                echo "</tr>";

            }

            echo "</table>";

        }

    } 

演示效果如下:

访问地址:http://localhost:8080/mysqladmin.php

完整的mysqladmin.php 代码:

<form action="mysqladmin.php" method="post" >

    <textarea cols="80" rows="10" id="sql" name="sql"></textarea>

    <br>

    <input type="submit" value="执行"  /> 

</form>

<style>

    th {background: #eaeaea}
    td {border:1px solid #ccc;padding:2px 10px;}
    tr:hover {background: skyblue}
</style>

<?php

    //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 "<p>您执行的sql为:$sql </p>";   

        echo "<script>document.getElementById(‘sql‘).value=‘".$sql."‘</script>";

        //开始真的执行sql

        $query_origin = mysql_query($sql) or die("<p style=‘color:red‘>sql报错,错误信息为 ======> ".mysql_error()."</p>");

        echo "<p style=‘color:green‘>执行成功!</p>";

        /*
            如果是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<sizeof($arr);$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("<p style=‘color:red‘>sql报错,错误信息为 ======> ".mysql_error()."</p>");

            $columns = array();
            $count = 0;

            echo "<table cellpadding=0 cellspacing=0><tr>";

            while($row=mysql_fetch_array($query)){  

                $columns[$count++] = $row[‘COLUMN_NAME‘];

            }   

            //遍历数组
            for($i=0;$i<sizeof($columns);$i++){
                echo "<th>$columns[$i]</th>";
            }

            echo "</tr><tr>";
            //然后去这张表里面查询
            while($row=mysql_fetch_array($query_origin)){
                //遍历这张表的列名,然后对应从行中取值
                for($i=0;$i<sizeof($columns);$i++){
                    echo "<td>" . $row["$columns[$i]"] . "</td>";
                }
                //每遍历好一行,就换行
                echo "</tr>";
            }

            echo "</table>";

        }

    }

?>

原文地址:https://www.cnblogs.com/skyblue-li/p/9056135.html

时间: 2024-10-16 23:56:16

【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具的相关文章

【php增删改查实例】第一节 - PHP开发环境配置

最近需要使用PHP,于是把平时的积累整理一下,就有了这个教程. 首先是环境配置: 1.操作系统:windos7 2.后台:PHP 3.前台:Html + js + css 4.数据库:MYSQL 5.开发环境:XAMPP 1.安装XAMPP XAMPP是目前最流行的PHP开发环境. XAMPP是完全免费且易于安装的Apache发行版,其中包含Apache.MariaDB.PHP和Perl. 百度搜索xampp,找到一个能下载的地方,下载下来. 双击安装,下一步,下一步,反正一直下一步就对了. 安

Mybatis增删改查实例

Mybatis增删改查实例 编写一个简单的mybatis进行插入数据的实例 1 数据库建表  其中建表dob=Date of Birth 的意思 create table students (stud_id number primary key, name varchar2(20), email varchar2(20), dob date ); Oracle数据库中出现表已创建,则表示创建成功,如果出现名称已被使用,则可在建表之前进行删除操作:drop table students;或者进行级

yii2.0增删改查实例讲解

yii2.0增删改查实例讲解一.创建数据库文件. 创建表 CREATE TABLE `resource` ( `id` int(10) NOT NULL AUTO_INCREMENT, `texture` varchar(50) NOT NULL COMMENT '材质', `mark` varchar(50) NOT NULL COMMENT '牌号', `manufacturers` varchar(100) NOT NULL COMMENT '厂家', `price` int(11) NO

java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)

1.JSP的配置: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":&qu

BootStrap DataTables Spring MVC简单增删改查实例

1 <!DOCTYPE html> 2 <%@ page contentType="text/html;charset=gbk" language="java" %> 3 <%@page isELIgnored="false" %> 4 <meta name="viewport" content="width=device-width, initial-scale=1&quo

关于利用PHP访问MySql数据库的逻辑操作以及增删改查实例操作

PHP访问MySql数据库 <?php //造连接对象$db = new MySQLi("localhost","root","","0710_test"); //写SQL语句$sql = "select * from student";//检测连接数据库是否成功,失败返回"连接失败",并退出程序 if(mysqli_connect_error()){    die("连

【php增删改查实例】第二十四节 - 文件上传在项目中的具体应用

文件上传在项目中,一般有两个用武之地,分别为设置用户的头像和上传附件.本节我们演示如果进行用户头像的上传. 因为一个用户单独并且唯一对应了一个头像,是一对一的关系,所以我们需要去给tm_users表添加一个头像字段 – header . 点击保存按钮,完成表字段的添加. 本节中的头像上传,可以对图像进行裁剪,最终上传到服务器的是一个经过裁剪后的图像. 图像是保存在磁盘上的,数据库只负责保存头像的地址. 现在把 5-10上课资料文件夹中的imageUpload文件夹拷贝到5-10文件夹中. ima

【php增删改查实例】第七节 - 部门管理模块(画一个datagrid表格)

在easyui中,datagrid组件需要用一个table标签去渲染. <table id="grid0" title="部门管理" class="easyui-datagrid" fitColumns="true" pagination="true" rownumbers="true" url="query.php"> <thead> <

【php增删改查实例】第二十节 - 把用户管理页面集成到main.php中

把这个代码: <a href="javascript:openTab('用户管理','user/userManage.html ','icon-roleManage')" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-roleManage'" style="width: 150px;">用户管理</a> 复制一下,粘贴到