<?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-2084 数塔 经典dp,水

    1.HDU-2084   数塔 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=2084 3.总结:从下往上推,最后归于顶点.方程为  dp[i][j] ...

  2. Linux软件安装为什么名字不一样

    一.说安装 1.安装 yacc :# yum install byacc 2.安装 glib: :# yum install glibc 3.安装 wireshark :# yum install w ...

  3. 使用cjson进行对象的嵌套封装

    共分两个部分,1)创建json.2)解析json 1)创建嵌套json的代码 char * makeJson() { cJSON * pRoot = NULL; cJSON * pSub_1 = NU ...

  4. iis中MIME类型的介绍与使用

    今天在服务器上碰到由.mp3格式转化生成的.m4r格式不能被浏览器访问(MP3与m4r在同个域名目录下eg:www.abc.com/1.m4r) 解决办法: 1.选中文件所在的站点: 2.找到MIME ...

  5. Node.js 手册查询-4-Express 方法

    express 标签(空格分隔): node.js express [TOC] 安装: 新版本中命令行工具分家了 npm install -g express //安装 express 然后 npm ...

  6. NodeJS优缺点及适用场景讨论

    概述:NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. N ...

  7. vbox下Oracle Enterprise liunx5.4虚拟机安装10G RAC实验(三)

    接第二篇 http://www.cnblogs.com/myrunning/p/3996183.html 4.安装集群软件 4.1验证安装环境 经过检查发现以下3个包检查未通过: compat-gcc ...

  8. 2016HUAS暑假集训训练2 L - Points on Cycle

    题目链接:http://acm.hust.edu.cn/vjudge/contest/121192#problem/L 这是一道很有意思的题,就是给定一个以原点为圆心的圆,然后给定 一个点  求最大三 ...

  9. decode 函数将字符串从某种编码转为 unicode 字符

    环境:Ubuntu, Python 2.7 基础知识 这个程序涉及到的知识点有几个,在这里列出来,不详细讲,有疑问的直接百度会有一堆的. 1.urllib2 模块的 request 对像来设置 HTT ...

  10. BizTalk动手实验(四)Schema开发测试

    1 课程简介 通过本课程熟悉Schema的相关开发技术 2 准备工作 1. 熟悉XML.XML Schema.XSLT等相关XML开发技术 2. 新建BizTalk空项目 3 演示 3.1 格式化XM ...