<?php
/*************************************************************
MySql类封装:
首先连接数据库,需要有参数
参数如何传?
1、可以用配置文件
2、可以通过构造函数传参
**************************************************************/
class SqlHelper{
private $host;
private $user;
private $pwd;
private $dbName;
private $charset;
private $conn = null; //保存连接资源 public function __construct(){
$this->host = 'localhost';
$this->user = 'xuwm';
$this->pwd = 'bW7LA2pMDAEtnVB7';
$this->dbName = 'gamejj';
$this->charset='utf8';
//连接
$this->connect($this->host, $this->user, $this->pwd);
//选库
$this->switchDb($this->dbName);
//设置字符集
$this->setChar($this->charset);
} //负责连接
private function connect($host, $user, $pwd){
$conn = mysql_connect($host, $user, $pwd);
if (!$conn) {
echo "Unable to connect to DB: " . mysql_error();
exit;
}
$this->conn = $conn;
} //选库
public function switchDb($db){
$sql = 'use ' . $db; //注意user 和 ' 有一个空格
$this->query($sql);
} //设置字符集
public function setChar($char){
$sql = 'set names ' . $char;
$this->query($sql);
} //关闭连接
public function close(){
mysql_close($this->conn);
} //负责发送sql查询
public function query($sql){
$result = mysql_query($sql, $this->conn);
return $result;
} //获取多行多列的select结果
public function getAll($sql){
$list = array();
$result = $this->query($sql);
if(!$result)
return false;
while($row= mysql_fetch_assoc($result)){
$list[] = $row;
}
return $list;
} //获取一行数据 常用于 聚合函数
public function getRow($sql){
$result = $this->query($sql);
if(!$result)
return false;
$row= mysql_fetch_assoc($result);
return $row;
} //获取一个值
public function getOne($sql){
$result = $this->query($sql);
if(!$result)
return false;
$row= mysql_fetch_row($result);
return $row[0];
} } //$mysql = new SqlHelper();
/*
var_dump($mysql);
$sql = "insert goods values(1121, 4, '苹果')";
$mysql->query($sql); $sql = 'select * from goods';
$list = $mysql->getAll($sql);
var_dump($list); $sql = 'select * from goods where goods_id=4';
$list = $mysql->getRow($sql);
var_dump($list); $sql = 'select count(*) from goods';
$list = $mysql->getOne($sql);
var_dump($list);
*/

一个比较常用的关于php下的mysql数据操作类的更多相关文章

  1. 1.4 数据库和常用SQL语句(正文)——MySQL数据库命令和SQL语句

    前面我们已经讲述了,登录时,我们使用mysql –u root –p命令进行,此时如果设置了密码,则需要输入密码. 输入密码后即进入MySQL的操作界面,此时,命令行窗体左侧显示"mysql ...

  2. 转 【MySQL】常用拼接语句 shell 下执行mysql 命令

    [MySQL]常用拼接语句 前言:在MySQL中 CONCAT ()函数用于将多个字符串连接成一个字符串,利用此函数我们可以将原来一步无法得到的sql拼接出来,在工作中也许会方便很多,下面主要介绍下几 ...

  3. Linux下的MySQL简单操作(服务启动与关闭、启动与关闭、查看版本)

    小弟今天记录一下在Linux系统下面的MySQL的简单使用,如下: 服务启动与关闭 启动与关闭 查看版本 环境 Linux版本:centeros 6.6(下面演示),Ubuntu 12.04(参见文章 ...

  4. Ubuntu16.04下修改MySQL数据的默认存储位置

    由于在Linux下MySQL默认是存储在/var/lib/mysql目录下,mysql的数据会非常大,由于/var所划分的空间不够大,所以我们需要将mysql数据存放路径修改一下,放到大分区里面,以便 ...

  5. flask框架下读取mysql数据 转换成json格式API

    研究了一天 因为需要从数据库拿数据然后转换成json的格式 expose出去为 API 发现一条数据是容易,两条以上我居然搞了这么久 好歹出来了 先贴一下 后面更新 mysql的操作 比较容易了htt ...

  6. WINDOWS下更改MYSQL数据路径(datadir)后服务启动1067解决不能改变mysql数据库存储位置

    晚上安装完MYSQL(系统:深度WINXPSP2, MYSQL版本:5.1.32)后,用MYSQL自带的配置工具配置完发现默认的数据存放路径是:C:/Documents and Settings/Al ...

  7. 在window环境下挂载mysql数据卷

    1.提前在指定的目录下创建一个my.cnf文件,目录名最好为英文且不带特殊符号和空格,文件内容如下,注意:粘贴时要把每一行末尾的空格去除,否则运行时会报错说utf8编码错误 [mysqld] user ...

  8. linu下修改mysql数据库面

    修改密码:1.例如你的 root用户现在没有密码,你希望的密码修改为123456,那么命令是:mysqladmin -u root password 1234562.如果你的root现在有密码了(12 ...

  9. linux下备份mysql数据

    一.业务场景 自己现在做的项目基本上已经开发完成,正式开始上线运行,主要包含两个子项目一个是小程序的后台,一个是后台管理系统. 正式开始运行一段时间后,基本上也没什么BUG了,整个项目都已经能够正常的 ...

随机推荐

  1. apache 泛域名配置

    需求:  在apache上配置两个项目,分别是项目a和项目b,a.baiye5.com访问项目a,其余的除了a前缀名之外的例如b2b.baiye5.com .*.baiye5.com等都访问项目b. ...

  2. oracle学习-存储过程返回一个值,和返回一个结果集

    一.返回一个值 --创建存储过程 create or replace procedure sp_hu_test(spcode in varchar2,spname out varchar2)is be ...

  3. Two-Phase Commit (两阶段提交)

    1. 流程 1) Coordinator (协调者) 广播 VOTE-REQ 给所有 Participant (参与者) 2) Coordinator 等待 Participant 的结果 3) Pa ...

  4. python命令行参数

    〇.python中对应的argc, argv需要模块:sys参数个数:len(sys.argv)脚本名:    sys.argv[0]参数1:     sys.argv[1]参数2:     sys. ...

  5. coredump调试的使用

    一,什么是coredump 跑程序的时候经常碰到SIGNAL 或者 call trace的问题,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满 ...

  6. java.lang.OutOfMemoryError: PermGen space及其解决方法(转载)

    java.lang.OutOfMemoryError: PermGen space及其解决方法 分类: java2007-09-11 12:34 162242人阅读 评论(51) 收藏 举报 gene ...

  7. oracle 游标使用大全

    转:http://www.cnblogs.com/fjfzhkb/archive/2007/09/12/891031.html oracle的游标和例子! 游标-----内存中的一块区域,存放的是se ...

  8. Sudoku Solver Backtracking

    该博客好好分析 Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicat ...

  9. fragment的生命周期及其各个周期方法的作用

    先上生命周期图: Fragment的生命周期图: 与Activity的生命周期对比图: 由于Fragment是嵌在Activity中使用的,故其生命周期也是依赖于Activity的周期的,或者说Fra ...

  10. Please set registry key HKLM\Microsoft\.NET Framework\InstallRoot to point to the .NET Framework

    安装.NET程序时会提示“Please set registry key HKLM\Microsoft\.NET Framework\InstallRoot to point to the .NET ...