<?php
header("content-type;text/html;charset=utf-8");

//数据库连接
define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PASSWORD','admin');
define('DB_NAME','php2016');
//连接mysql服务器
function _connect(){
//global 表示全局变量的意思,意图是将此变量在函数外部也能访问
global $_conn;
if (!$_conn=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD)){
echo '连接mysql服务器失败';
echo '错误编号:',mysql_errno(),'<br />';
echo '错误信息:',mysql_error(),'<br />';
}
}

//连接指定数据库
function _select_db(){
if (!mysql_select_db(DB_NAME)){
echo '找不到指定的数据库';
echo '错误编号:',mysql_errno(),'<br />';
echo '错误信息:',mysql_error(),'<br />';
}
}

//设置字符集
function _set_names(){
if (!mysql_query('SET NAMES UTF8')){
echo '字符集设置失败';
echo '错误编号:',mysql_errno(),'<br />';
echo '错误信息:',mysql_error(),'<br />';
}
}

//执行SQL语句,返回一个结果集 $_sql 意思是 一条SQL语句
function _query($_sql){
if (!$_result=mysql_query($_sql)){
exit('SQL执行失败');
}
return $_result;
}

// _query($_sql) 是结果集
/*
* _fetch_array只能获取指定数据集的一条数据组
*/
function _fetch_array($_sql){
return mysql_fetch_array(_query($_sql),MYSQL_ASSOC);
}
/*
* _fetch_array_list 可以返回指定数据集的所有数据
*/
function _fetch_array_list($_result){
return mysql_fetch_array($_result,MYSQL_ASSOC);
}

/*
* _html()函数表示对字符串进行html过滤显示,如是数组,按数组方式显示,如是字符串,按字符串方式显示
*/

function _html($_string){
if (is_array($_string)){
foreach ($_string as $_key =>$_value){
$_string[$_key]=htmlspecialchars($_value);
}
}else {
$_string=htmlspecialchars($_string);
}
return $_string;
}
//初始化数据库
_connect(); //连接mysql服务器
_select_db(); //连接指定数据库
_set_names(); //设置字符集

$sql = "select goods.id,goods.name as goods_name,colors.name as colors_name,size.name as size_name from goods left join colors on goods.id=colors.id left join size on goods.id=size.id;";
$res =_query($sql);
$_html=array();
while (!!$_rows=_fetch_array_list($res)){
$_html['id']=$_rows['id'];
$_html['goods_name']=$_rows['goods_name'];
$_html['colors_name']=$_rows['colors_name'];
$_html['size_name']=$_rows['size_name'];
$_html=_html($_html);

echo $_html['id'];echo $_html['goods_name']; echo $_html['colors_name'];echo $_html['size_name'].'<br />';
}
?>

php操作Mysql 以及封装常用的函数 用外连接连接3个表的案例的更多相关文章

  1. LightMysql:为方便操作MySQL而封装的Python类

    原文链接:http://www.danfengcao.info/python/2015/12/26/lightweight-python-mysql-class.html mysqldb是Python ...

  2. MySqL触发器以及常用转换函数注意事项

    1,触发器(http://www.cnblogs.com/zzwlovegfj/archive/2012/07/04/2576989.html)       1.MYSQL中触发器中不能对本表进行 i ...

  3. mysql学习笔记—常用sql函数

    SQL 拥有很多可用于计数和计算的内建函数. SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值,返回一个单一的值. 有用的 Aggregate 函数: AVG() ...

  4. MySQL 排名统计(常用功能函数)

    select actor_id,@curr_cnt:=cnt as cnt , ,@rank) as rank, @prev_cnt:=@curr_cnt as dummy from( select ...

  5. MySQL的一些常用sql函数(持续更新。。)

    1. 字符串拼接函数 :CONCAT(str1,str2,...) SELECT CONCAT('AAA','BBB') STR; //AAABBB 2. 判断是否为null,为null就指定另外一个 ...

  6. php操作mysql几个常用操作

    1.链接数据库 mysql_connet('数据库地址','数据库账号','数据库密码'); 2.选择数据库 mysql_select_db("数据库名"); 3.设置编码 mys ...

  7. php最全基础,数组,函数,超全局变量,时间,回话,文件,php操作mysql

    共享一份学习php最全基础语法知识的笔记 原文链接:http://www.cnblogs.com/oscn/p/3607757.html:略有修改   http://www.cnblogs.com/l ...

  8. MySQL之MySQL常用的函数方法

    MySQL常用函数 本篇主要总结了一些在使用MySQL数据库中常用的函数,本篇大部分都是以实例作为讲解,如果有什么建议或者意见欢迎前来打扰. limit Select * from table ord ...

  9. CentOS系统操作mysql的常用命令

    MySQL名字的来历MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了 ...

随机推荐

  1. hdu 1715 大菲波数 高精度和运算,水

    1.hdu 1715  大菲波数 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=1715 3.总结:水 #include<iostream> ...

  2. Solr资料

    Apache Solr Reference GuideCovering Apache Solr 5.5 https://archive.apache.org/dist/lucene/solr/ref- ...

  3. ng-repeat 指令

    <!--索引属性:$index,$first,$middle,$last--> <!--样式属性:ng-class-even,ng-class-odd--> <tr ng ...

  4. C#读取数据库字节流生成图片

    前台用DataList绑定 <asp:DataList ID="DataList1" runat="server"> <ItemTemplat ...

  5. u盘安装windows系统

    使用老毛桃为例: 电脑下载老毛桃到自己电脑,插入U盘,制作U盘为启动盘. 四种安装方法: 1.win7能够使用:(win中包含iso的解压文件)解压ISO ----〉 restart win7 --- ...

  6. FK JavaScript之:ArcGIS JavaScript添加Graphic,地图界面却不显示

    使用ArcGIS JavaScript,往地图中添加几个Graphic,基本是与官网示例代码一致.绘制的图形一闪而过之后,就没了 核心代码如下: iniToolBar: function () { t ...

  7. visual studio 2012 的制作ActiveX、打包和发布[转]

    开发环境是Vs 2012  Framework 4.0 源地址:http://www.cnblogs.com/li-peng/p/3455247.html 源码和制作工具在文章最下边 一. Activ ...

  8. java类加载器的层次结构

    类加载器的层次结构: 引导类加载器(bootstrap class loader) 用来加载java的核心库(JAVA_HOME/jre/lib/rt.jar,或sun.boot.class.path ...

  9. 修改SQL Server 2005 数据库文件名字

    对于SQLServer 2005的数据库文件名字的修改.不多说,见图: 对于数据库名的更改直接选中要修改的数据库,F2,你懂的,不懂的可以去屎了.....0.0 下面要修改数据库的文件名 原理就是利用 ...

  10. I/O存取方式的形象比喻

    I/O存取有三种方式:可编程I/O.中断驱动I/O.DMA,分别可理解如下: 下面以老师向班里同学收发作业来类比I/O存取,办公室表示内存,即,I操作表示:老师向学生收作业,然后存放到办公室里:O操作 ...