PHP实现MYSQL的查询功能

12 篇文章 0 订阅



展示数据库

<?php
header('Content-Type: text/html;charset=utf-8');
$host = "127.0.0.1";
$port = '3306';
$user = 'root';
$pass = '123654';
$charset = 'utf8';  //设置默认字符
$link = mysql_connect("$host:$port",$user,$pass);  //链接数据库
$sql = 'show databases';  //展示数据sql代码
if(!$result = mysql_query($sql,$link)){  //执行数据库代码
	echo 'SQL执行失败'.'<br>';
	echo "出错的地方是:".$sql.'<br>';
	echo "错误代码是:",mysql_errno($this->link).'<br>';
	echo "错误信息是:",mysql_error($this->link).'<br>';
	die();
}
echo '<table>';
 //mysql_fetch_assoc()  从结果集中取得一行作为关联数组 
while($row = mysql_fetch_assoc($result)){
	// var_dump($row);
	echo '<tr>';
	echo '<td>'.'<a href = "table.php?dbname='.$row['Database'].'">';
	//用的是字符串链接的方式 连接跳转的地方
	echo $row['Database'];  //输出数据库名
	echo '</a>'.'</td>';
	echo '</tr>';
}
echo '</table>';



执行完sql语句之后返回的就是结果集;

实现结果如下:

展示表

<?php
header('Content-Type: text/html;charset=utf-8');
$host = "127.0.0.1";
$port = '3306';
$user = 'root';
$pass = '123654';
$charset = 'utf8';
$link = mysql_connect("$host:$port",$user,$pass);
mysql_query('set names '.$charset,$link);
$dbname = $_GET['dbname'];
$sql = "use `$dbname`";
mysql_query($sql,$link);
$sql = 'show tables';  //展示表的sql语句
if(!$result = mysql_query($sql,$link)){
	echo 'SQL执行失败'.'<br>';
	echo "出错的地方是:".$sql.'<br>';
	echo "错误代码是:",mysql_errno($this->link).'<br>';
	echo "错误信息是:",mysql_error($this->link).'<br>';
	die();
}
echo '<table>';
while($row = mysql_fetch_assoc($result)){
	 var_dump($row);
	echo '<tr>';
	echo '<td>';
	echo $row['Tables_in_'.$dbname];
	echo '</td>';

	echo '<td>'.'<a href = "column.php?tablename='.$row['Tables_in_'.$dbname].'&dbname='.$dbname.'">';
	echo '结构';
	echo '</a>'.'</td>';

	echo '<td>'.'<a href = "data.php?tablename='.$row['Tables_in_'.$dbname].'&dbname='.$dbname.'">';
	echo '数据';
	echo '</a>'.'</td>';
	echo '</tr>';
}
echo '</table>';

表中的结构展示

展示表中的信息的时候,至少要传递两个参数,第一个是数据库的名字,第二个是表的名称
这样才能根据上面的两个信息找出表中的信息

<?php
header('Content-Type: text/html;charset=utf-8');
$host = "127.0.0.1";
$port = '3306';
$user = 'root';
$pass = '123654';
$charset = 'utf8';
$link = mysql_connect("$host:$port",$user,$pass);
mysql_query('set names '.$charset,$link);
$dbname = $_GET['dbname'];
$tablename = $_GET['tablename'];
$sql = "desc `$dbname`.`$tablename`";  //展示出表的信息
if(!$result = mysql_query($sql,$link)){
	echo 'SQL执行失败'.'<br>';
	echo "出错的地方是:".$sql.'<br>';
	echo "错误代码是:",mysql_errno($this->link).'<br>';
	echo "错误信息是:",mysql_error($this->link).'<br>';
	die();
}
echo '<table>';
while($row = mysql_fetch_assoc($result)){
	 //var_dump($row);
	echo '<tr>';
	echo '<td>';
	echo $row['Field'];  //输出名称
	echo '</td>';

	echo '<td>';
	echo $row['Type'];  //输出类型
	echo '</td>';
	echo '</tr>';
}
echo '</table>';


表中数据的展示


<?php
header('Content-Type: text/html;charset=utf-8');
$host = "127.0.0.1";
$port = '3306';
$user = 'root';
$pass = '123654';
$charset = 'utf8';
$link = mysql_connect("$host:$port",$user,$pass);
mysql_query('set names '.$charset,$link);

$dbname = $_GET['dbname'];//获得数据库名
$tablename = $_GET['tablename'];//获得表名

//选择某认数据库
$sql = "use `$dbname`";
if(!$result = mysql_query($sql,$link)){
	echo 'SQL执行失败'.'<br>';
	echo "出错的地方是:".$sql.'<br>';
	echo "错误代码是:",mysql_errno($this->link).'<br>';
	echo "错误信息是:",mysql_error($this->link).'<br>';
	die();
}
//获得字段信息
$sql = "desc `$tablename`";
if(!$result = mysql_query($sql,$link)){
	echo 'SQL执行失败'.'<br>';
	echo "出错的地方是:".$sql.'<br>';
	echo "错误代码是:",mysql_errno($this->link).'<br>';
	echo "错误信息是:",mysql_error($this->link).'<br>';
	die();
}

echo '<table border="1">';
//展示字段
echo "<tr>";
while($rows = mysql_fetch_assoc($result)){
	echo "<th>";
	echo $rows['Field'];
	echo "</th>";
}
echo "</tr>";
//查询每个表的数据
$sql = "select * from `$tablename` where 1";
if(!$result = mysql_query($sql,$link)){
	echo 'SQL执行失败'.'<br>';
	echo "出错的地方是:".$sql.'<br>';
	echo "错误代码是:",mysql_errno($this->link).'<br>';
	echo "错误信息是:",mysql_error($this->link).'<br>';
	die();
}

//遍历结果集 得到所有字段
while($rows = mysql_fetch_assoc($result)){
	echo '<tr>';
	foreach ($rows as $value) {
		echo '<td>';
		echo $value === '' ?' ':($value===NULL?'NULL':$value);
		//三目运算符的嵌套
		echo '</td>';
	}
	echo '</tr>';
}
echo '</table>';





























  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值