问题标签 [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 投票
2 回答
1247 浏览

php - PHP 的 PDO 准备方法在循环中失败

给定以下代码:

我显然尝试准备语句以从 table2 中选择所有内容两次。第二个(WHILE 循环中的那个)总是失败并导致错误。

这仅在我的生产服务器上,在本地开发我没有问题,所以它必须是某处的某种设置。

我的直接想法是 MySQL 有某种 max_connections 设置被设置为 1 并且连接保持打开直到 WHILE 循环完成所以当我尝试准备一个新查询时它说“没有太多连接已经”并且大便.

有任何想法吗?

编辑:是的,我知道没有必要做两次,在我的实际代码中,它只在 WHILE 循环中准备好,但就像我说的那样,在我的生产服务器上失败了,所以经过一些测试,我发现一个简单的 SELECT * 查询失败了WHILE 循环,但没有退出它。我给出的示例代码显然被淡化了,只是为了说明这个问题。

0 投票
3 回答
9580 浏览

php - 使用 PDO 连接到 SQL Server 2008

我正在尝试在 Windows XP sp2 上使用 PHP 5.2.9-2 连接到 SQL Server 2008(不是 express)。我可以从同一台机器上的 SQL Server Management Studio 很好地连接到远程 SQL Server。

我的第一次尝试是这样的:

这给出了这个错误:

第二次尝试(在专家交流中找到)

这有效,但我不能使用PDO::lastInsertId(),我希望能够:

你有什么建议吗?任何帮助将不胜感激。

0 投票
3 回答
468 浏览

php - php pdo ¿我做错了什么?

我正在学习 php pdo;我的环境是:NetBeans 6.5.1,XAMPP 1.7.0,我有这段代码,它似乎可以连接。

  • 如果我将 dbname 更改为不存在的,则会引发异常“db not exists”
  • 如果我更改用户,它会引发“登录不正确”)

但是当我调用 $cn->query 时,它会引发:

apache.exe 中出现未处理的 Win32 异常

我究竟做错了什么?

0 投票
4 回答
25337 浏览

php - PHP PDO::bindParam() 数据类型.. 它是如何工作的?

我想知道bindParam()(或bindValue())中的数据类型声明用于...

我的意思是,我认为如果我定义一个整数参数 ( PDO::PARAM_INT),则该参数必须转换为整数,例如

或者如果参数不是声明的类型,至少会抛出一个错误。但这种情况并非如此。

谷歌搜索,我在 php.net 存档中发现:

大家好,

我目前正在研究 PDO。正好在 bindParam() 函数上。第三个参数 data_type 似乎是在这里强制值的类型?但是当我尝试时:

我期待在我的数据库中出现 PHP 错误或整数。但在我的数据库中,我有:

22 Testarossa 法拉利 23 250 GTO 法拉利

这意味着如果我有第三个参数它没有改变。或者也许我错过了什么。有人可以告诉我更多吗?或者有人可以告诉我在哪里可以找到有关它的信息。

问候,

赛勒斯

这正是我的情况。我的想法哪里错了?

0 投票
6 回答
36771 浏览

php - PDO 无缓冲查询

我正在尝试了解 PDO 的详细信息。所以我编码了这个:

我的 getValue 函数工作正常,我得到了表的下一个序列。但是当我进入 execWithParameters 时,我得到了这个异常:

PDOException:SQLSTATE [HY000]:一般错误:2014 在其他无缓冲查询处于活动状态时无法执行查询。考虑使用 PDOStatement::fetchAll()。或者,如果您的代码只针对 mysql 运行,您可以通过设置 PDO::MYSQL_ATTR_USE_BUFFERED_QUERY 属性来启用查询缓冲。在第 77 行的 D:\Servidor\xampp_1_7_1\htdocs\bitacora\func_db.php

我试图修改连接属性,但它不起作用。

这些是我的核心数据库功能:

谁能对此有所启发?PD。请不要建议使用自动数字 ID,因为我是从另一个系统移植的。

0 投票
1 回答
14715 浏览

php - PHP PDO 连接到具有集成安全性的 SQL Server?

我可以使用 PDO 连接到 SQL Server 2008 并使用 mssql 驱动程序集成安全性吗?目前正在做这样的事情来正常连接:

使用 SQL Server 身份验证可以正常工作,但是必须为大量数据库创建 SQL Server 登录名很痛苦,因此如果可能的话,最好使用集成安全性。我在 Windows 上将 PHP 作为 CLI 运行。

0 投票
2 回答
16942 浏览

mysql - MySQL 与 PDO

我对 PHP 相当陌生,并且使用标准 MySQL 数据库调用构建了一个中型网站。但是,我最近了解了 PDO,我希望从社区中了解是否值得从 MySQL 切换到 PDO。为了安全起见,我一直在使用mysql_real_escape_string.

关于该站点的信息:
我正在使用INSERTSELECT调用的混合。调用返回的数据SELECT量不大(使用返回的记录不超过30条LIMIT)。也不会有很多INSERTs。该网站目前尚未上线,因此现在进行更改很容易。

在您的专业意见中,值得我花时间将站点从 MySQL 切换到 PDO 吗?还是和 MySQL 一样好?或者换句话说,如果有的话,现在切换到 PDO 的原因是什么?

0 投票
2 回答
3860 浏览

php - 不能通过 php 在事务中使用准备好的语句吗?

我在 LAPP 环境(linux apache postgresql php)上工作,我只是想了解如何在事务中使用准备好的语句(如果可能的话)。

我希望代码能比文字更好地解释:

示例1,简单交易:

在上面的例子中,如果我没有正确理解事务,数据库中唯一的影响将是 last_activity 的更新......是吗?

如果我尝试在 php 中使用该事务(使用 PDO 或 pg_ 方法),则代码应如下所示(示例 2):

这很好用。也许难看,但似乎有效(建议总是受欢迎的)

无论如何,当我尝试将示例 2 与准备好的语句结合起来时,我的问题就来了(我知道在示例 2 中使用准备好的语句不是很有用)

示例 3:

好吧,示例 3 根本不起作用,如果事务在回滚中到期,则准备好的语句将有效。

那么,准备好的语句不能在事务中使用,还是我走错了路?

编辑:

在尝试了 PDO 之后,我到了这一点:

上面的代码失败,输出如下:

array(3) { [0]=> string(5) "00000" [1]=> int(7) [2]=> string(62) "错误:重复键违反唯一约束 "id_h_orders"" }

array(3) { [0]=> string(5) "25P02" [1]=> int(7) [2]=> string(87) "错误:当前事务被中止,命令被忽略直到事务块结束" }

致命错误:在第 23 行的 /srv/www/test-db/test-db-pgsql-08.php 中的非对象上调用成员函数 fetch()

因此,似乎当第一次执行失败(id 为 293 的那个)时,事务会自动中止...... PDO 是自动回滚还是其他?

我的目标是完成第一个大的 while 循环,最后,使用 bool var 作为标志,决定是回滚还是提交事务。

0 投票
2 回答
2700 浏览

php - 在 Mac OS X 服务器上为 MySQL 安装 PDO 扩展

我想尽可能将 PHP / MySQL 组合保持为“普通”,但想为 MySQL 安装 PDO 驱动程序。我怎样才能在 10.5 上做到这一点?

0 投票
24 回答
442944 浏览

php - PDO 的行数

周围有许多相互矛盾的说法。在 PHP 中使用 PDO 获取行数的最佳方法是什么?在使用 PDO 之前,我只是简单地使用了mysql_num_rows.

fetchAll是我不想要的东西,因为我有时可能会处理大型数据集,所以不适合我的使用。

你有什么建议吗?