1.PDO类
PDO类代表一个PHP和数据库之间的连接,PDO类所拥有的方法如下:
PDO:构造器,构建一个新的PDO对象。
beginTransaction:开市事务。
commit:提交事务。
errorCode:从数据库返回一个错误代号,如果有的话。
errorInfo:从数据库返回一个含有错误信息的数组,如果有的话。
exec:执行一条SQL语句并返回影响的行数。
getAttribute:返回一个数据库连接属性。
lastInsertld:返回最新插入到数据库的行(ID)。
prepare:为执行准备一条SQL语句,返回语句执行后的联合结果集(PDOStatement)。
query:执行一条SQL语句并返回一个结果集。
quote:返回添加引号的字符串,使其可用于SQL语句中。
rollBack:回滚一个事务。
setAttribute:设置一个数据库连接属性。
2.PDOStatement类
PODStatement类代表一条预处理语句以及语句执行后的联合结果集(associated result set),其拥有的方法如下:
bindColumn:绑定一个PHP变量到结果集的输出列。
bindParam:绑定一个PHP变量到一个预处理语句中的参数。
bindValue:绑定一个值到与处理语句中的参数。
closeCursor:关闭游标,使语句可以再次执行。
columnCount:返回结果集中的列的数量。
errorCode:从语句中返回一个错误代号,如果有的话。
errorInfo:从语句中返回一个包含错误信息的数组,如果有的话。
execute:执行一条预处理语句。
fetch:从结果集中取出一行。
fetchALL:从结果集中取出一个包含所有行的数组。
fetchColumn:返回结果集中某一列中的数据。
getAttribute:返回一个PDOStatement属性。
getColumnMeta:返回结果集中的某一列的结构.
nextRowset:返回下一个结果集。
rowCount:返回SQL语句执行后的影响的行数。
setAttribute:设置一个PDOStatement属性。
setFetchMode:为PDOStatement设定获取数据的方式。
<?php
/*
* PDO演示
*/
try {
//配置PDO的数据源
$dsn = "mysql:host = localhost;dbname=tsst";
$db = new PDO($dsn, 'root', '1234');
//构造方法
//设置异常可捕获
$db->setAttribute(PDO:ATTR_ERRMODE, PDO: ERRMODE_EXCEPTION);
$db->exec("SET NAMES 'UTF8'");
$sql = "INSERT INTO
tc0_log(name, content, ip, datetime)
values('admin', '插入一条记录', '{$_SERVER['REMOTE_ADDR']}'. now())";
//插入到日志表里
$db->exec($sql);
//使用预处理语句
$insert = $db->prepare("INSERT INTO tc0_log(name, content, ip ,datetime) values(?, ?, ?, now())");
$insert->execute(['admin', '插入一条记录111', '{$SERVER[REMOTE_ADDR]}']);
$insert->execute(['admin', '插入一条记录222', "'{$SERVER[REMOTE_ADDR]}'",8,9]); //异常
$sql = "SELECT NAME, content, ip, datetime FROM tc0_log";
$query = $db->prepare($sql);
$query->execute();
var_dump($query->fetchALL(PDO:FETCH_ASSOC));
} catch (PDOException $err) {
echo $err->getMessage();
}
?>
PDO类代表一个PHP和数据库之间的连接,PDO类所拥有的方法如下:
PDO:构造器,构建一个新的PDO对象。
beginTransaction:开市事务。
commit:提交事务。
errorCode:从数据库返回一个错误代号,如果有的话。
errorInfo:从数据库返回一个含有错误信息的数组,如果有的话。
exec:执行一条SQL语句并返回影响的行数。
getAttribute:返回一个数据库连接属性。
lastInsertld:返回最新插入到数据库的行(ID)。
prepare:为执行准备一条SQL语句,返回语句执行后的联合结果集(PDOStatement)。
query:执行一条SQL语句并返回一个结果集。
quote:返回添加引号的字符串,使其可用于SQL语句中。
rollBack:回滚一个事务。
setAttribute:设置一个数据库连接属性。
2.PDOStatement类
PODStatement类代表一条预处理语句以及语句执行后的联合结果集(associated result set),其拥有的方法如下:
bindColumn:绑定一个PHP变量到结果集的输出列。
bindParam:绑定一个PHP变量到一个预处理语句中的参数。
bindValue:绑定一个值到与处理语句中的参数。
closeCursor:关闭游标,使语句可以再次执行。
columnCount:返回结果集中的列的数量。
errorCode:从语句中返回一个错误代号,如果有的话。
errorInfo:从语句中返回一个包含错误信息的数组,如果有的话。
execute:执行一条预处理语句。
fetch:从结果集中取出一行。
fetchALL:从结果集中取出一个包含所有行的数组。
fetchColumn:返回结果集中某一列中的数据。
getAttribute:返回一个PDOStatement属性。
getColumnMeta:返回结果集中的某一列的结构.
nextRowset:返回下一个结果集。
rowCount:返回SQL语句执行后的影响的行数。
setAttribute:设置一个PDOStatement属性。
setFetchMode:为PDOStatement设定获取数据的方式。
<?php
/*
* PDO演示
*/
try {
//配置PDO的数据源
$dsn = "mysql:host = localhost;dbname=tsst";
$db = new PDO($dsn, 'root', '1234');
//构造方法
//设置异常可捕获
$db->setAttribute(PDO:ATTR_ERRMODE, PDO: ERRMODE_EXCEPTION);
$db->exec("SET NAMES 'UTF8'");
$sql = "INSERT INTO
tc0_log(name, content, ip, datetime)
values('admin', '插入一条记录', '{$_SERVER['REMOTE_ADDR']}'. now())";
//插入到日志表里
$db->exec($sql);
//使用预处理语句
$insert = $db->prepare("INSERT INTO tc0_log(name, content, ip ,datetime) values(?, ?, ?, now())");
$insert->execute(['admin', '插入一条记录111', '{$SERVER[REMOTE_ADDR]}']);
$insert->execute(['admin', '插入一条记录222', "'{$SERVER[REMOTE_ADDR]}'",8,9]); //异常
$sql = "SELECT NAME, content, ip, datetime FROM tc0_log";
$query = $db->prepare($sql);
$query->execute();
var_dump($query->fetchALL(PDO:FETCH_ASSOC));
} catch (PDOException $err) {
echo $err->getMessage();
}
?>