草庐IT

pdo_parse_params

全部标签

php - 当 PDO::exec() 中的任何语句失败时,有没有办法抛出异常?

PDO::exec()允许(至少对于某些驱动程序,例如mysqlnd)一次执行多个语句。这很好用,当我将几个查询传递给PDO::exec()时,它们都会被执行:$pdo->exec('DROPTABLEa;DROPTABLEb;');我的PDO实例配置为抛出异常:$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);如果第一个查询失败,它会按预期抛出异常:$pdo->exec('DROPTABLEdoes_not_exist;DROPTABLEok;');//PDOException但是当任何后续查询失败时,它会默默地

php - 在@param 中使用命名空间

在@param注释中包含类的命名空间是好的做法吗?我知道phpdoc不支持命名空间,但其他工具如phpdox或Doxygen将如何运作?哪种方式更好/更常见?namespacefoo\someNamespace;usefoo\someOtherNamespace\MyOtherClass;---withnamespace---/***@param\foo\someOtherNamespace\MyOtherClass$otherClass*/classmyClass(MyOtherClass$otherClass){//dosomething}---withoutnamespace--

php - PDO 连接 : UTF-8 declaration with SET NAMES/CHARACTER SET?

根据php.net、StackOverflow和其他可信来源,我可以找到4种不同的方法来在PDO连接上设置UTF-8,但找不到哪个更好:$pdo_db='mysql:host=localhost;dbname=local_db;charset=utf8';//METHOD#1$pdo_login='root';$pdo_pass='localpass';$db=newPDO($pdo_db,$pdo_login,$pdo_pass,array(PDO::ATTR_ERRMODE=>$localhost?PDO::ERRMODE_EXCEPTION:PDO::ERRMODE_SILENT

PHP PDO : Do the fetch styles FETCH_CLASS and FETCH_INTO fetch into private object properties?

很短的问题,这里有一个例子:$prepared=$this->pdo->prepare("SELECT*FROMUsersWHEREID=:ID");$statement=$prepared->execute(array(":ID"=>$User_ID))$result=$statement->fetchAll(PDO::FETCH_CLASS,"User");//OR$User=newUser();$result=$statement->fetch(PDO::FETCH_INTO,$User);(从头开始写,可能包含语法错误)这两个是否直接获取所述对象的私有(private)属性?我

php - 哪些标记可以在 PDO 准备语句中参数化?

我正在使用PHP/PDO中的准备好的语句。基本查询工作正常,将值传递给WHERE子句:$stmt=$db->prepare('SELECTtitleFROMepisodeWHEREid=:id');$stmt->bindParam(':id',$id,PDO::PARAM_INT);$id=5;$stmt->execute();但是我有一种情况需要为字段名称传递变量。此查询(具有适当的绑定(bind))工作正常:SELECT:fieldFROMepisodeWHEREid=:id这个报错:SELECTtitleFROM:fieldWHEREid=:id这个没有给出错误,但不返回任何行:

php - PDO异常 : You cannot serialize or unserialize PDO instances

我尝试使用内存缓存在PHP中缓存我的用户对象,但在使用PDO时出现错误。我添加了一个__sleep和一个__wakeup函数。用户.php/***@varPDO*/protected$db;publicfunction__construct(){$this->db=getInstanceOf('db');}publicfunction__destruct(){}publicfunction__sleep(){returnarray('db');}publicfunction__wakeup(){$this->db=getInstanceOf('db');}getInstanceOf('

php - 如何将诸如 "now() -interval ' 2 minutes'"之类的内容插入 PHP PDO 查询?

我有这样的查询:(在Postgresql8.4上,PHP-fpm5.3.10(fpm-fcgi))select*fromuserswherenow()-interval'2minutes'我想使用PHP/PDO查询,所以:$mymin=5;//thisisavariablecanbechangedby$_GET$query=$db_conn->prepare("select*fromuserswherenow()-interval':myminuteminutes'bindParm(":myminute",$mymin)$query->execute;这行不通,我找不到以正确方式传递s

php - 使用 PECL OS : Ubuntu 在 PHP 5.1.6 上安装 PDO_MYSQL

我在使PDO_MYSQL工作时遇到了真正的问题。我开始只是尝试通过PECL安装PDO_MYSQL驱动程序,但是当这不起作用时,我环顾四周看看是否报告了任何问题。看来可能是嵌入式版本的PDO和PDO_MYSQL有冲突。为此,我决定从PECL重新安装它的所有依赖项。环境:操作系统:UbuntuPHPVer:5.1.6(客户端现场环境无法升级)遵循的程序:PECLuninstallPDO_MYSQLPECLuninstallPDOPECLuninstallmysqlPECLinstallmysqlPECLinstallPDOPECLinstallPDO_MYSQLLinesAddedtoPH

php - 如何在 pdo->query 中添加变量值

我想升级我当前的代码,它不断地用PDO注入(inject)sql。目前我一直坚持在PDO查询中使用变量。如果我有两个这样的参数$rowsPerPage=3;//bydefaultweshowfirstpage$pageNum=1;if(isset($_GET['page'])){$pageNum=mysql_real_escape_string($_GET['page']);}$offset=($pageNum-1)*$rowsPerPage;我有这样的查询$STH=$DBH->query("SELECTNews.ID,LEFT(NewsText,650),Title,AID,Date

php - 执行 PDO 查询将绑定(bind)参数从整数更改为字符串

代码示例$query=$this->db->prepare($sql);//preparesql$query->bindParam('start',$start,PDO::PARAM_INT);//bindstart$query->bindParam('end',$end,PDO::PARAM_INT);//bindend$query->bindParam('language',$this->language);//bindlanguage$query->bindValue('keyword',"%$keyword%");//bindkeywordvar_dump($end);$que