问题标签 [pdo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
825 浏览

php - 哪些 PHP / MySQL 驱动程序或数据库抽象层支持准备好的语句?

我正在开发一个基于默认 PDO 和 PDOStatement 类的扩展版本的项目,因此它使用 PDO 样式命名参数而不是“?” 变量的占位符。

但是,客户现在要求我们考虑使用不同的驱动程序,因为他们的 OS X Web Server 版本显然无法轻松安装此驱动程序。那么是否有人知道任何其他数据库抽象库或数据库访问驱动程序,我可以很容易地使用我们当前的一组功能来扩展它们,这些功能像 PDO 一样采用命名参数?

0 投票
8 回答
91092 浏览

php - Can PHP PDO Statements accept the table or column name as parameter?

Why can't I pass the table name to a prepared PDO statement?

Is there another safe way to insert a table name into a SQL query? With safe, I mean that I don't want to do

0 投票
17 回答
120685 浏览

php - 从 PDO 准备好的语句中获取原始 SQL 查询字符串

有没有办法在准备好的语句上调用 PDOStatement::execute() 时执行原始 SQL 字符串?出于调试目的,这将非常有用。

0 投票
4 回答
17540 浏览

php - 为什么 PHP PDO DSN 是 MySQL 与 PostgreSQL 的不同格式?

当我使用 PDO 连接到 MySQL 数据库时,我需要连接的方式是:

但是,对于 PostgreSQL,DSN 更标准(IMO):

MySQL不能使用单个字符串有什么原因吗?或者这仅仅是因为我使用的版本(PHP 5.2、MySQL 5.0、PostgreSQL 8.1)?

0 投票
1 回答
1108 浏览

php - 可以将 MySQL 连接转换为 PDO 连接吗?

我在一个应用程序上工作,它只有一种方法来获得一个有效的数据库连接:一个返回 MySQL 连接资源的函数。

我有什么方法可以将该 MySQL 连接转换为 PDO MySQL 连接?

我无法以任何其他方式访问 MySQL 服务器,没有用户名、密码,什么都没有。我也看不到/获取包含函数的文件。稍后我可能会,但我仍然想知道这是否可能。

0 投票
1 回答
28358 浏览

php - 如何在 PHP 中更改 PDO/SQLite 连接的字符编码?

我有一个 php-gtk 应用程序一直运行到非 utf8 字符串的小问题,我发现问题出在数据库连接中,即使数据库应该是 UTF-8 也是如此。

我曾尝试使用“SET CHARACTER SET utf8”(MySQL 方式)和“SET NAMES UTF8”,但没有任何反应(在“ SQLite 理解的查询语言 ”页面中也没有关于这些命令的任何信息,所以我对此并不感到惊讶)。

PD:也许连接已经是 UTF-8 而数据不是,但如果有办法改变连接编码,这个问题仍然有用。

0 投票
2 回答
81485 浏览

php - PDO try-catch 在函数中的使用

我正在考虑在我未来的所有 webapp 中使用 PDO。目前(使用到目前为止我从 SO 中学到的知识),我在我的站点中处理数据库连接的是一个像这样的 Singleton 类:

和另一个文件(functions.php),其内容特定的功能看起来与这个完全一样:

这意味着我必须try .. catch在所有功能中重复该部分。

我的问题是:

  1. 我应该如何提高效率?(例如,不必try..catch在所有功能中重复,但仍然能够在每个功能上返回不同的“失败消息”)
  2. 这已经是一个好习惯了吗?我还是 PDO 和 OOP 的新手(还有很多东西要学),所以(到目前为止),我真的看不出有任何缺点或可以改进的地方。

如果这看起来不清楚或太长,我很抱歉。提前致谢。

0 投票
5 回答
9730 浏览

php - 是否可以回退 PDO 结果?

我正在尝试为 PDO 语句的结果编写一个迭代器,但我找不到任何倒回第一行的方法。我想避免调用 fetchAll 并存储所有结果数据的开销。

有没有办法重置语句或寻找第一行?

0 投票
1 回答
17600 浏览

php - PDOStatement::bindParam data_type 参数列表

是否有描述您可以使用的所有 data_type 参数的列表PDOStatement::bindParam()?如果没有,您通常使用什么,以及用于什么类型的字段?

根据 PHP 手册:data_type使用 PDO::PARAM_* 常量的参数的显式数据类型。

我知道PDO::PARAM_INTand PDO::PARAM_STR。我听说过,PDO::PARAM_LOB但我不确定如何以及何时使用它。(日期?)

0 投票
11 回答
26724 浏览

php - 如何检测该事务已经开始?

我正在使用 Zend_Db 在事务中插入一些数据。我的函数启动一个事务,然后调用另一个方法,该方法也尝试启动一个事务,当然失败了(我使用的是 MySQL5)。所以,问题是 - 我如何检测交易已经开始?这是一个示例代码:

在 PaymentInstrument::create 内部还有另一个 beginTransaction 语句,它产生表示事务已经开始的异常。