增加记录条数
sql拼接语句时一定要注意空格,语句的规范性检查,array_keys/rtrim/prepare/bindValue/execute/rowCount 这些函数的使用
更新记录
更新的条件不能为空,其余和新增插入类似
3、记录查询,分为查询单条和多条,sql 语句写法有些差异,PDO执行时 单条记录和多条记录查询韩数分别是
$stmt ->setFetchModel(PDO::FETCH_ASSOC);返回值为:$stmt->fetch
4删除的执行操作也是条件不能为空。
<?php
//连接数据库
$dsn = "mysql:host=localhost;dbname=php;charset=utf8;port=3306";
$userName = "root";
$password = "";
try{
$pdo = new PDO($dsn,$userName,$password);
}catch(PDOException $e){
print'connect_error:'.$e->getMessage();
//exit();
}
//新增数据
if(!function_exists('insert')){
function insert($pdo,$table,$data=[]){
//创建sql语句
$sql = "INSERT IGNORE {$table} SET ";
foreach( array_keys($data) as $field){
$sql .= $field .'=:'.$field.',';
}
//去掉尾部逗号,并添加分号结束
$sql = rtrim(trim($sql),',').';';
//创建pdo预处理对象
$stmt = $pdo->prepare($sql);
//绑定参数到预处理对象
foreach($data as $field=>$value){
$stmt ->bindValue(":$field",$value);
}
//执行新操作
if($stmt->execute()){
if($stmt->rowCount()>0){
return true;
}
}else{
return false;
}
}
}
//更新数据
if(!function_exists('uptate')){
function uptate($pdo,$table,$data=[],$where="")
//创建sql语句
{$sql = "UPTATE {$table} SET ";
foreach(array_keys($data) as $field){
$sql .=$field.':'.$field","
}
//去掉结尾的逗号
$sql= rtrim(trim($sql),',');
//添加更新条件
if(!empty($where)) {
$sql .= ' WHERE '. $where;
}else{
exit('条件不能为空');
}
//创建参数到预处理对象
$stmt = $pdo->prepare($sql);
foreach($data as $field=>$value){
$stmt->bindValue(":{$field}".$value);
}
if($stmt->execute())
{
if($stmt->rowCount()>0)
{
return true
}
}else{
return false;
}
}
}
//查询单条记录
if(!function_exists('find')){
function find($pdo,$table,$fields,$where='')
{
$sql = 'SELECT';
if(is_array($fields)){
foreach($fields as $field){
$sql .= $fields.','
}
}else{
$sql .= $fields;
}
$sql = rtrim(trim($sql),',');
$sql .= 'FROM'.$table;
//添加查询条件
if(!empty($where))
{
$sql .= ' WHERE'.$where;
}
$sql .= ' LIMIT 1';
//sql语句拼装
$sql = rtrim(trim(),',');
$stmt = $pdo ->prepare();
//执行查询操作
if($stmt ->execute()
{
if($stmt-rowCount()>0)
{
//return true;
$stmt ->setFetchMode({PDO ::FETCH_ASSOC )
{
return $stmtAll();
}
}else{
return false;
}
}
}
//多条记录查询
if (!function_exists('select')) {
function select($pdo,$table,$fields, $where='', $order='') {
//创建SQL语句
$sql = 'SELECT ';
if (is_array($fields)) {
foreach ($fields as $field) {
$sql .= $field.', ';
}
} else {
$sql .= $fields;
}
$sql = rtrim(trim($sql),',');
$sql .= ' FROM '.$table;
//添加查询条件
if(!empty($where)) {
$sql .= ' WHERE '. $where;
}
//添加排序条件
if(!empty($order)) {
$sql .= ' order by '.$order;
}
//去掉尾部逗号,并添加分号结束
$sql = rtrim(trim($sql),',').';';
//创建PDO预处理对象
$stmt = $pdo->prepare($sql);
//执行查询操作
if($stmt->execute()){
if($stmt->rowCount()>0){
$stmt->setFetchMode(PDO::FETCH_ASSOC);
//返回一个二维数组
return $stmt->fetchAll();
}
} else {
return false;
}
}
}
//删除数据
if (!function_exists('delete')) {
function delete($pdo,$table, $where='') {
//创建SQL语句
$sql = "DELETE FROM {$table} ";
//添加删除条件
if(!empty($where)) {
$sql .= 'WHERE '. $where;
}else{
exit('条件不能为空');
}
//去掉尾部逗号,并添加分号结束
$sql = rtrim(trim($sql),',').';';
//创建PDO预处理对象
$stmt = $pdo->prepare($sql);
//执行删除操作
if($stmt->execute()){
if($stmt->rowCount()>0){
return true;
}
} else {
return false;
}
}
}