PHP如何实现MYSQL查询功能

小云云
发布: 2018-03-15 15:12:35
原创
10409人浏览过

本文主要和大家分享PHP如何实现MYSQL查询功能,本文主要以代码的形式和大家分享,希望能帮助到大家。

相关mysql视频教程推荐:《mysql教程

展示数据库

<?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免费学习笔记(深入)”;

实现结果如下:


展示表

<?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>';
登录后复制

相关推荐:

MySQL查询语句之复杂查询

MySQL查询时间基础教程

Mysql查询结果顺序按in()中ID的顺序排列的实例分析

以上就是PHP如何实现MYSQL查询功能的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号