php中mysql mysqli pdo扩展库
2014-08-17 22:53
621 查看
php中mysql mysqli pdo扩展库
mysql:面向过程操作mysql数据库
mysqli:面向对象操作mysql数据库
pdo:面向对象操作,但不一定是mysql数据库,便于项目的数据库移值。
mysql扩展库
以下是mysql经常使用到的函数
mysql_connect(),mysql_query(),mysql_affected_rows()
mysql_fetch_array() 关联和数字键值对数组 || mysql_fetch_assoc() 关联数组|| mysql_fetch_row() 索引数组
mysql_free_result(),mysql_close()
操作mysql基本步骤
用mysql扩展库封装成面向对象
mysqli:只是封装成面向对象。这里就不说了。
PDO:一样是面向对象。
代码案例
mysql:面向过程操作mysql数据库
mysqli:面向对象操作mysql数据库
pdo:面向对象操作,但不一定是mysql数据库,便于项目的数据库移值。
mysql扩展库
以下是mysql经常使用到的函数
mysql_connect(),mysql_query(),mysql_affected_rows()
mysql_fetch_array() 关联和数字键值对数组 || mysql_fetch_assoc() 关联数组|| mysql_fetch_row() 索引数组
mysql_free_result(),mysql_close()
操作mysql基本步骤
<?php /************************************** **典型案例 ***/ /** * 第一步 连接数据库 */ $link = @mysql_connect('localhost', 'root', 'root') or exit(mysql_error()); /** * 第二步 设置字符集 * */ mysql_query('set names utf8', $link) or exit(mysql_error()); /** * 第三步 选择数据库 * / mysql_query('use php0320', $link) or exit(mysql_error()); /** * 第四步 数据库sql操作 * */ $sql = 'select * from t1'; $result = mysql_query( $sql ) or exit(mysql_error()); mysql_affected_rows($link) or printf(' affected_rows : 0 '); while ($row = mysql_fetch_assoc($result)){ foreach($row as $v){ echo $v,' '; } echo ' '; } /** * 第五步 释放资源 */ mysql_free_result ( $result ); mysql_close ( $link ); ?>
用mysql扩展库封装成面向对象
<?php /* DataBases类 */ class DB{ /******** 成员属性 **********/ private $host,$port,$username,$password; private $charset,$prefix; private $db; private $link; /********** 成员方法 ***********/ public function __construct($host='localhost',$port='3306', $username='root',$password='root', $charset='utf8',$db='php0320',$prefix='cz_') { $this->host = $host; $this->port = $port; $this->username = $username; $this->password = $password; $this->charset = $charset; $this->db = $db; $this->prefix = $prefix; /**连接数据库**/ $this->link = @mysql_connect($this->host . ':' . $this->port,$this->username,$this->password) or exit(mysql_error()); /**设置字符集**/ mysql_query('set names '.$this->charset, $this->link) or exit(mysql_error()); /**选择数据库**/ mysql_query('use '.$this->db, $this->link) or exit(mysql_error()); } public function __destruct(){ /*释放连接*/ if(is_resource($this->link)){ //因为继承后有可能parent::__destruct() mysql_close ( $this->link); } } /**增删改查**/ /* function 增加数据 * return int 返回id */ public function DB_insert($sql){ $this->DB_que($sql); return mysql_insert_id($this->link); } /* function 删除数据 * return int 受影响的行数 */ public function DB_delete($sql){ $this->DB_que($sql); return mysql_affected_rows($this->link); } /* function 更新数据 * return int 受影响的行数 */ public function DB_update($sql){ $this->DB_que($sql); return mysql_affected_rows($this->link); } /* functio 查询数据 * return arr[][] 若查询语句为空 则返回NULL */ public function DB_select($sql){ $res = $this->DB_que($sql); while($row = mysql_fetch_assoc($res)){ $arr[] = $row; } mysql_free_result($res); return isset($arr)? $arr:NULL; } /* fucntion 查询一行数据 * return arr[] 若查询语句为空 则返回false */ public function DB_getrow($sql){ $res = $this->DB_que($sql); $row = mysql_fetch_assoc($res); mysql_free_result($res); return $row; } /**封装连接数据库**/ private function DB_connect(){ } /**封装sql语句执行函数 * @ return 执行结果 若出错停止执行并报错 **/ private function DB_que($sql){ ($res = mysql_query( $sql )) or exit(mysql_error()); return $res; } } ?>
mysqli:只是封装成面向对象。这里就不说了。
PDO:一样是面向对象。
代码案例
<?php $dsn = 'mysql:host=localhost;dbname=php0320'; $user = 'root' ; $password = 'root' ; try { $dbh = new PDO ( $dsn , $user , $password ); } catch ( PDOException $e ) { echo 'Connection failed: ' . $e -> getMessage (); } $sql = 'select * from t1'; $stmt = $dbh->query($sql); $row = $stmt->fetch(); var_dump($row); ?>
相关文章推荐
- linux下创建php的mysql扩展 (pdo_mysql和mysqli)
- php中三种处理mysql数据库的扩展库(mysql、mysqli、pdo)的区别?
- 单独编译安装php的mysqli,pdo_mysql,mysqlnd扩展
- PHP独立编译安装扩展(mysqli,pdo-mysql)
- linux下创建php的mysql扩展 (pdo_mysql和mysqli)
- centos php 动态安装pdo_mysql mysql mysqli等扩展
- PHP扩展--mysql,mysqli,PDO
- php添加开启pdo_mysql扩展模块
- php_mysql、php_mysqli 与 pdo_mysql 的区别与选择
- 解析在PHP中使用mysqli扩展库对mysql的操作
- 【PHP】如何在PHP下开启PDO MySQL的扩展
- 安装pdo.so和pdo_mysql.so还有pcntl.so扩展到php中
- php mysql扩展使用mysqli扩展查询结果的问题
- 在php扩展pdo_mysql时,报autoconf错误解决
- Centos中安装PHP的PDO MySQL扩展的教程
- php下添加pdo_mysql扩展
- centos 单独安装PHP的mysql和mysqli扩展
- linux下php安装pdo_mysql扩展
- Linux下PHP扩展pdo_mysql
- PHP安装pdo_mysql的扩展