php PDO遇到的坑
<?php
$dbConn = new PDO(
"mysql:host=localhost;dbname=adtuu",'root','root',
array(
// 强制 PDO 获取的表字段字符的大小写转换,或原样使用列信息
PDO::ATTR_CASE => PDO::CASE_LOWER,
// 执行出错时抛出异常
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
// 将返回的空字符串转换为 SQL 的 NULL
PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL,
// 返回数据的时候不将数值转换为字符串
PDO::ATTR_STRINGIFY_FETCHES => false,
// 设置为false禁止PDO模拟预处理语句,而使用真正的预处理语句,即有MySQL执行预处理语句
PDO::ATTR_EMULATE_PREPARES => false,
)); $sql = 'SELECT adtuu_uuid, adtuu_name FROM blog_adtuu WHERE adtuu_uuid = ? AND adtuu_name = ?'; $q = $dbConn->prepare($sql);
$id = 1;
$name = 'adtuu'; //$q->bindParam(1, $id);
//$q->bindParam(2, $name); $i = 1;
foreach (array(1, 'adtuu') as &$bind) {
$q->bindParam($i, $bind);
$i++;
} $result = $q->execute() ? $q->fetch(PDO::FETCH_ASSOC) : array();
$q->closeCursor(); var_dump($result); //假设数据库中存在有id为1,name为adtuu的数据
//大家觉得上面的查询能够查出数据来吗??? //答案当然是否定的,为什么呢? //原来是bindParam中第二个参数要是引用值才行
//需要修改成下面的
$i = 1;
foreach (array(1, 'adtuu') as &$bind) {
$q->bindParam($i, $bind);
$i++;
} //注意&$bind //当然还有更简单的方法,就是抛开循环直接将参数传入execute中
$result = $q->execute(array(1, "adtuu's")) ? $q->fetch(PDO::FETCH_ASSOC) : array();
php PDO遇到的坑的更多相关文章
- [PDO绑定参数]使用PHP的PDO扩展进行批量更新操作
最近有一个批量更新数据库表中某几个字段的需求,在做这个需求的时候,使用了PDO做参数绑定,其中遇到了一个坑. 方案选择 笔者已知的做批量更新有以下几种方案: 1.逐条更新 这种是最简单的方案,但无疑也 ...
- CentOs 自带 PHP 之坑
在虚拟机上安装了CentOs6.5在上面安装了lnmp开发集成包(php7.1),对于之前没有任何开发经验的我来说,正常且安详滴在集成环境上开发着优雅的小bug. 然而我今天在Composer拉取代码 ...
- oauth2-server-php for windows 的那些坑 (研究中...)
oauth2-server-php for windows 的那些坑 在windwos 环境下,使用vs2017 for php 工具进行调试时,总是搞不出来, 于是分析了一下原因, 首先,oauth ...
- 不要在PHP7中踩这些坑
PHP是当今仍然是最流行的Web开发语言,目前在所有使用服务端编程语言的网站中,超过83%的站点在使用PHP.PHP7在性能方面实现跨越式的提升,然后有些坑我们还是要提醒PHPer不要踩. 1. 不要 ...
- 记录一下自己写PHP程序时走过的一些坑
写在前面: 喔噢,转眼间发现自己正式开发程序(PHP)已经有快有1个月了,一路上走了许多的坑,有时遇到坑的时候真想放弃,但是还是坚持下来了!所以写了这篇文章来帮助那些刚刚接触PHP的小白们.[: )] ...
- Phalcon如何切换数据库《Phalcon入坑指南系列 三》
本系列目录 一.Phalcon在Windows上安装 <Phalcon入坑指南系列 一> 二.Phalcon入坑必须知道的功能(项目配置.控制器.模型.增.删.改.查) 三.Phalcon ...
- Phalcon多模块如何实现连接不同数据库 《Phalcon入坑指南系列 五》
本系列目录 一.Phalcon在Windows上安装 <Phalcon入坑指南系列 一> 二.Phalcon入坑必须知道的功能<Phalcon入坑指南系列 二> 三.Phalc ...
- 【实操填坑】在树莓派上编译 EtherCAT IgH Master 主站程序
官网下载地址:https://etherlab.org/download/ethercat/ (可list查看文件列表)https://etherlab.org/download/ethercat/ ...
- 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑
阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...
随机推荐
- 【读书笔记】socket描述符选项[SOL_SOCKET]
#include <sys/socket.h> int setsockopt( int socket, int level, int option_name, ...
- Xcode脚本自动化打包问题:xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH
运行脚本后报错: xcrun: error: unable to find utility "PackageApplication", not a developer tool o ...
- matlab的m程序转执行文件exe
转换主要有两步: 第一步 设置编译器 在命令窗口输入 mbuild -setup 根据提示操作即可,.如下图我的设置 第二步 转换执行文件 命令行输入 mcc -m main 即可(输入 mcc ...
- Unity3D 记第一次面试
事情是发生在2014-03-05 周三下午 在群里面看到上海艺游急聘Unity3D开发工程师,就整理了下简历投了去!直到接到电话通知我去面试才知道 我之前是有投了简历!太忙了 以至于真的忘了,不过那个 ...
- Xcode - 打开工程,提示No Scheme解决
错误提示,如图: 解决思路:
- Scala日期处理
计算时间间隔 val d = new java.text.SimpleDateFormat("yyyyMMdd HH:mm:ss").format(new java.util.D ...
- js备忘录_1
js没有重载,只有同名覆盖,参数任意 所有参数封装在arguments数组中 Uncaught ReferenceError: d is not defined js引擎会当做变量处理 functio ...
- ubuntu16.04安装 lrzsz
编译安装 root 账号登陆后,依次执行以下命令: tar zxvf lrzsz-.tar.gz cd lrzsz- ./configure make make install 上面安装过程默认把ls ...
- ubuntu16.04下安装sublime_text
1 在终端输入: sudo add-apt-repository ppa:webupd8team/sublime-text-3 添加sublime text3的软件源: 2 sudo apt-get ...
- HDU 4734 - F(x) - [数位DP][memset优化]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4734 Time Limit: 1000/500 MS (Java/Others) Memory Lim ...