1. quote()方法

login.php

<html>
<head><meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head><body>
<form action="index.php" method="post">用户名:<input type="text" name="username"><br/>密&nbsp;码:<input type="password" name="password"/><br/><input type="submit" value="提交"/><input type="reset" value="重置"/>
</form>
</body>
</html>

index.php

<?phpheader('content-type:text/html;charset=utf-8');
$username = $_POST['username'];
$password = $_POST['password'];try {$dsn = 'mysql:host=localhost;dbname=test';$pdo = new PDO($dsn,'root','123456');$sql = "select * from user where username='{$username}' and password='{$password}'";echo $sql,'<br/>';$res = $pdo->quote($sql);echo $res;//var_dump($res);die;$stmt = $pdo->query($sql);echo $stmt->rowCount();} catch (PDOException $e) {echo $e->getMessage();
}



2.预处理占位符

<?phpheader('content-type:text/html;charset=utf-8');
$username = $_POST['username'];
$password = $_POST['password'];try {$dsn = 'mysql:host=localhost;dbname=test';$pdo = new PDO($dsn,'root','123456');/*$sql = "select * from user where username=:username and password=:password";$stmt = $pdo->prepare($sql);$stmt->execute(array(':username'=>$username,':password'=>$password));*/$sql = "select * from user where username=? and password=?";$stmt = $pdo->prepare($sql);$stmt->execute(array($username,$password));echo $stmt->rowCount();} catch (PDOException $e) {echo $e->getMessage();
}

3.绑定参数


命名参数占位符:try {$dsn = 'mysql:host=localhost;dbname=test';$pdo = new PDO($dsn,'root','123456');$sql = "insert into user(username,password,email) values(:username,:password,:email)";$stmt = $pdo->prepare($sql);$stmt->bindParam(':username',$username,PDO::PARAM_STR);$stmt->bindParam(':password',$password,PDO::PARAM_STR);$stmt->bindParam(':email',$email);$username = 'abc123';$password = 'abc123';$email = 'ab123c@qq.com';$stmt->execute();echo $stmt->rowCount();
} catch (PDOException $e) {echo $e->getMessage();
}
问号占位符:header('content-type:text/html;charset=utf-8');try {$dsn = 'mysql:host=localhost;dbname=test';$pdo = new PDO($dsn,'root','123456');$sql = "insert into user(username,password,email) values(?,?,?)";$stmt = $pdo->prepare($sql);$stmt->bindParam(1,$username); //索引从 1 开始$stmt->bindParam(2,$password);$stmt->bindParam(3,$email);$username = 'username1';$password = 'username';$email = 'username';$stmt->execute();echo $stmt->rowCount();
} catch (PDOException $e) {echo $e->getMessage();
}
删除:try {$dsn = 'mysql:host=localhost;dbname=test';$pdo = new PDO($dsn,'root','123456');$sql = "delete from user where id>:id";$stmt = $pdo->prepare($sql);$stmt->bindParam(':id',$id,PDO::PARAM_INT);$id = 3;$stmt->execute();echo $stmt->rowCount();
} catch (PDOException $e) {echo $e->getMessage();
}

4.bindValue()

可以让参数一些可变,一些不变:try {$dsn = 'mysql:host=localhost;dbname=test';$pdo = new PDO($dsn,'root','123456');$sql = "insert into user(username,password,email) values(?,?,?)";$stmt = $pdo->prepare($sql);$username = 'wwoo123';$password = '123456aaa';$stmt->bindValue(1,$username);$stmt->bindValue(2,$password);$stmt->bindValue(3,'imooc@imooc.com');$stmt->execute();echo $stmt->rowCount();} catch (PDOException $e) {echo $e->getMessage();
}
try {$dsn = 'mysql:host=localhost;dbname=test';$pdo = new PDO($dsn,'root','123456');$sql = "insert into user(username,password,email) values(:username,:password,:email)";$stmt = $pdo->prepare($sql);$username = 'wwoo123weee';$password = '123456aaa';$stmt->bindValue(':username',$username);$stmt->bindValue(':password',$password);$stmt->bindValue(':email','imooc@imooc.com');$stmt->execute();echo $stmt->rowCount();} catch (PDOException $e) {echo $e->getMessage();
}

5. bindColumn()


try {$dsn = 'mysql:host=localhost;dbname=test';$pdo = new PDO($dsn,'root','123456');$sql = "select username,password,email from user";$stmt = $pdo->prepare($sql);$stmt->execute();echo '结果集的列数 : ' . $stmt->columnCount() . '<br/>';var_dump($stmt->getColumnMeta(0));//把列值绑定到指定变量$stmt->bindColumn(1,$username);$stmt->bindColumn(2,$password);$stmt->bindColumn(3,$email);while ($stmt->fetch(PDO::FETCH_BOUND)) {echo '用户名:' . $username . '<br/>';echo '密码:' . $password . '<br/>';echo '邮箱:' . $email . '<br/>';}} catch (PDOException $e) {echo $e->getMessage();
}

6. fetchColunm()

try {$dsn = 'mysql:host=localhost;dbname=test';$pdo = new PDO($dsn,'root','123456');$sql = "select id,username,password,email from user";$stmt = $pdo->query($sql);var_dump($stmt);//得到结果集第一行的第一列echo $stmt->fetchColumn(0);echo '<br/>';//得到结果集第二行的第4列echo $stmt->fetchColumn(3);
} catch (PDOException $e) {echo $e->getMessage();
}

7.debugDumpParams

try {$dsn = 'mysql:host=localhost;dbname=test';$pdo = new PDO($dsn,'root','123456');$sql = "insert into user(username,password,email) valus(?,?,?)";$stmt = $pdo->prepare($sql);$stmt->bindParam(1,$username,PDO::PARAM_STR);$stmt->bindParam(2,$password,PDO::PARAM_STR);$stmt->bindParam(3,$email,PDO::PARAM_STR);$username = 'testParam';$password = 'testParamaaa';$email = 'testParambbb';$stmt->execute();echo '<pre>';$stmt->debugDumpParams();echo '</pre>';
} catch (PDOException $e) {echo $e->getMessage();
}

try {$dsn = 'mysql:host=localhost;dbname=test';$pdo = new PDO($dsn,'root','123456');$sql = "select * from user where username=:username and password=:password";$stmt = $pdo->prepare($sql);$stmt->bindParam(':username',$username,PDO::PARAM_STR);$stmt->bindParam(':password',$password,PDO::PARAM_STR);$username = 'testParam';$password = 'testParamaaa';$stmt->execute();echo '<pre>';$stmt->debugDumpParams();echo '</pre>';
} catch (PDOException $e) {echo $e->getMessage();
}

8. nextRowset()

创建存储过程:create procedure test1()
BEGINselect * from user;select * from qqlogin0;
END

try {$dsn = 'mysql:host=localhost;dbname=test';$pdo = new PDO($dsn,'root','123456');$sql = "call test1()";$stmt = $pdo->query($sql);$rowset = $stmt->fetchAll(PDO::FETCH_ASSOC);var_dump($rowset);echo '<br/>*****************第二个结果集*************<br/>';$stmt->nextRowset();$rowset2 = $stmt->fetchAll(PDO::FETCH_ASSOC);var_dump($rowset2);
} catch (PDOException $e) {echo $e->getMessage();
}

3. PDOStatement 对象相关推荐

  1. 数据库抽象类PDOStatement对象使用

    1.预处理语句中使用占位符,分为 索引方式 和 关联方式 a.索引方式: $pdo=new PDO($dns,$username,$password,$options); $sql='select * ...

  2. PDOStatement 类 FETCH_* 系列

    PDOStatement::fetch 说明 PDOStatement::fetch - 从一个 PDOStatement 对象相关的结果集中获取下一行.fetch_style 参数决定 POD 如何 ...

  3. php resultset用法,PHP PDOStatement::nextRowset讲解

    PDOStatement::nextRowset PDOStatement::nextRowset - 在一个多行集语句句柄中推进到下一个行集(PHP 5 >= 5.1.0, PECL pdo ...

  4. php中rowcount 意思,PHP PDOStatement::rowCount讲解

    PDOStatement::rowCount PDOStatement::rowCount - 返回受上一个 SQL 语句影响的行数(PHP 5 >= 5.1.0, PECL pdo >= ...

  5. pdo oracle返回参数游标,PDOStatement::closeCursor

    PDOStatement::closeCursor PDOStatement::closeCursor - 关闭游标,使语句能再次被执行.(PHP 5 >= 5.1.0, PECL pdo &g ...

  6. php中的PDO对象---对PDO对象的认识、什么是PDO对象

    注:本报告总结完全由本人编著,部分概念内容由网络摘录 1 对PDO对象的认识 1.1 简介 PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口.实现 PDO 接口的每个数据 ...

  7. rowcount php,PHP:PDOStatement::rowCount()方法参数说明

    PDOStatement::rowCount (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) PDOStatement::rowCount - 返回受上一个 SQL ...

  8. mysql是面向对象的语言吗_php一种面向对象的语言,那么什么是面向对象呢?

    php一种面向对象的语言,那么什么是面向对象呢? 传统的面向过程的编程思想: 相信很多人第一次接触编程都是c语言,c语言就是非常典型的面向过程的编程语言,将要实现的功能描述为一个从开始到结束的连续的& ...

  9. php pdo获取查询数据_php使用PDO获取结果集的方法

    本文实例讲述了php使用PDO获取结果集的方法.分享给大家供大家参考,具体如下: fetch()方法 fetch()方法用于获取结果集的下一行,语法如下: mixed PDOStatement::fe ...

  10. php PDO简介和操作

    PDO:数据访问抽象层 具有三大特点: 1.可以访问其它数据库  所有数据库都可以 2.具有事务功能 3.带有预处理语句功能(防止SQL注入攻击) <?php//1.造PDO对象 $dsn =& ...

最新文章

  1. 如何在Linux下使用rsync
  2. hdu 1007(最近点对)
  3. 线段树杭电1754 I hate it
  4. 初中计算机学情分析,初中信息技术教学计划
  5. java并查集计算机网络连通,poj2236 Wireless Network(并查集)
  6. js生成验证码并且验证
  7. Saltstack常用模块及API
  8. Team Foundation Server 2010 安装、部署与配置(七):创建 Team Project 时的一个 Issue:TF218027 .
  9. 2013年5月16日星期四初始sqlserver附加数据库权限及maven和selenium
  10. HTG评论Yoga Tablet 2 Pro:内置Pico投影仪可延长电池寿命
  11. TeamViewer——一款强大的远程控制工具
  12. Elasticsearch(Transport Client)常用操作
  13. VMware通过vmdk安装Kali linux
  14. 强化学习三、策略迭代与值迭代
  15. 更进一步!微软成为 OpenInfra 开放基础设施基金会白金会员
  16. 经济与金融大数据挖掘——知识点总结回顾
  17. 专访《王者荣耀》团队 附天美L1工作室照片
  18. 项目五总结 创建与使用视图
  19. NGS项目四:高通量测序在植物生物胁迫研究中的应用
  20. 那些支持我学习与工作的良师益友

热门文章

  1. python之socket网络编程
  2. 快速的mysql导入导出数据(load data和outfile)
  3. jBPM4.3+ssh+会签 整合配置及完整实例
  4. SQLServer实战经验分享--ServiceBroker安全配置和使用示例
  5. R资讯| 广州R会第三批嘉宾揭晓!!
  6. windows server 2003 远程桌面最大连接数调整与windows 2008远程桌面后,本地帐号自动锁定...
  7. Ubuntu下编译运行C#——mono tools
  8. Linux硬链接和符号链接(转)
  9. WRF模式中eta层的设置以及分别对应的高度(转)
  10. 非专业人士观点(3)不要假如