草庐IT

PDO_mssql

全部标签

php - PDO lastInsertId 问题,php

我已经尝试了很多方法来使用下面的代码(来自较大类的代码片段)获取最后插入的ID,但现在我放弃了。有人知道如何让PDOlastInsertId工作吗?提前致谢。$sql="INSERTINTOauth(surname,forename,email,mobile,mobilepin,actlink,regdate)VALUES(:surname,:forename,:email,:mobile,:mobpin,:actlink,NOW())";$stmt=$this->dbh->prepare($sql);if(!$stmt){return"st";}$stmt->bindParam(':

PHP PDO 与普通 mysqli 速度性能基准

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我正在从事一个关于社交网站的项目,其中速度优化非常关键。PDO更快吗?我正在考虑切换到PDO,是否建议将PDO用于此类网站?

php - PDO 的 FETCH_INTO $这个类不起作用

我想使用PDO的FETCH_INTO构造函数来填充类:classuser{private$db;private$name;function__construct($id){$this->db=...;$q=$this->db->prepare("SELECTnameFROMusersWHEREid=?");$q->setFetchMode(PDO::FETCH_INTO,$this);$q->execute(array($id));echo$this->name;}}这是行不通的。没有错误,什么都没有。脚本没有错误,FETCH_ASSOC工作正常。FETCH_INTO有什么问题?

php - SQL Server 错误 1934 发生在 INSERT 到具有计算列 PHP/PDO 的表中

将计算列添加到SQLServer2005中的表后,我在INSERT上收到以下消息,仅通过PHP(使用PDO)它在SQLServerManagmentStudio中工作正常。为确保一切正确,我使用SQLServerProfiler设置了一个跟踪并将INSERT语句复制/粘贴到SQLServerManagmentStudio中。它在SSMS中运行良好,但在PHP中继续失败。Erroraddingcontact:SQLSTATE[HY000]:Generalerror:1934GeneralSQLServererror:CheckmessagesfromtheSQLServer[1934](

php - Php PDO 函数 : lastInsertId? 有多安全

我不太清楚PhpPDO函数:lastInsertID。如果我理解正确,它会返回插入数据库的最后一个自动增量ID。我通常在创建用户注册功能时执行将用户插入数据库的查询时使用此函数。我的问题是,比如说我有100个人同时在我的网站上注册。并且可能是一个用户在另一个用户之后一毫秒点击“注册”按钮。那么这个函数lastInsertId是否有可能返回另一个刚刚注册的用户的ID?可能我想问的是服务器一次处理一个请求并一次处理一个php文件吗?请让我知道这件事。谢谢。 最佳答案 绝对安全。没有竞争条件。它只从进行插入的pdo对象返回最后插入的Id。

php - 如何在 PHP 的 MSSQL 中获取插入 ID?

问题标题说的是什么。对于诸如SELECT@@IDENTITYASins_id之类的查询,我是否需要提供表名或任何其他信息来指定我正在谈论的表/数据库? 最佳答案 @@IDENTITY返回当前session中生成的最新标识。在大多数情况下,您可能希望使用SCOPE_IDENTITY相反,它返回在当前范围内生成的最新标识。例如,如果您向table1中插入一行,但该插入会触发将一行插入table2的触发器,那么@@IDENTITY将从table2返回身份,而SCOPE_IDENTITY将从table1返回身份。INSERTINTOmy_t

解析并将XML存储到MSSQL数据库表中

我正在解析XML并从中创建Java对象。现在,如何序列化该对象并将其存储到数据库中我正在解析XML对象如下outputStr=IOUtils.toString(xmlfile.getInputStream(),"UTF-8");Report=XMLUtil.toObject(outputStr,Customer.class);我想存储Report对象进入数据库看答案没有神奇的方法将任意Java对象映射到SQL数据库中。如果有的话,发明家将是百万富翁。这是因为Java对象可以是平坦的,树,无环向图或图形,而SQL数据库的结构完全不同。如果要将对象放在MSSQL数据库上,则必须使用Hibernat

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 - 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)属性?我