问题标签 [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.
php - PHP 的 PDO 准备方法在循环中失败
给定以下代码:
我显然尝试准备语句以从 table2 中选择所有内容两次。第二个(WHILE 循环中的那个)总是失败并导致错误。
这仅在我的生产服务器上,在本地开发我没有问题,所以它必须是某处的某种设置。
我的直接想法是 MySQL 有某种 max_connections 设置被设置为 1 并且连接保持打开直到 WHILE 循环完成所以当我尝试准备一个新查询时它说“没有太多连接已经”并且大便.
有任何想法吗?
编辑:是的,我知道没有必要做两次,在我的实际代码中,它只在 WHILE 循环中准备好,但就像我说的那样,在我的生产服务器上失败了,所以经过一些测试,我发现一个简单的 SELECT * 查询失败了WHILE 循环,但没有退出它。我给出的示例代码显然被淡化了,只是为了说明这个问题。
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()
,我希望能够:
你有什么建议吗?任何帮助将不胜感激。
php - php pdo ¿我做错了什么?
我正在学习 php pdo;我的环境是:NetBeans 6.5.1,XAMPP 1.7.0,我有这段代码,它似乎可以连接。
- 如果我将 dbname 更改为不存在的,则会引发异常“db not exists”
- 如果我更改用户,它会引发“登录不正确”)
但是当我调用 $cn->query 时,它会引发:
apache.exe 中出现未处理的 Win32 异常
我究竟做错了什么?
php - PHP PDO::bindParam() 数据类型.. 它是如何工作的?
我想知道bindParam()
(或bindValue()
)中的数据类型声明用于...
我的意思是,我认为如果我定义一个整数参数 ( PDO::PARAM_INT
),则该参数必须转换为整数,例如
或者如果参数不是声明的类型,至少会抛出一个错误。但这种情况并非如此。
谷歌搜索,我在 php.net 存档中发现:
大家好,
我目前正在研究 PDO。正好在 bindParam() 函数上。第三个参数 data_type 似乎是在这里强制值的类型?但是当我尝试时:
我期待在我的数据库中出现 PHP 错误或整数。但在我的数据库中,我有:
22 Testarossa 法拉利 23 250 GTO 法拉利
这意味着如果我有第三个参数它没有改变。或者也许我错过了什么。有人可以告诉我更多吗?或者有人可以告诉我在哪里可以找到有关它的信息。
问候,
赛勒斯
这正是我的情况。我的想法哪里错了?
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,因为我是从另一个系统移植的。
php - PHP PDO 连接到具有集成安全性的 SQL Server?
我可以使用 PDO 连接到 SQL Server 2008 并使用 mssql 驱动程序集成安全性吗?目前正在做这样的事情来正常连接:
使用 SQL Server 身份验证可以正常工作,但是必须为大量数据库创建 SQL Server 登录名很痛苦,因此如果可能的话,最好使用集成安全性。我在 Windows 上将 PHP 作为 CLI 运行。
mysql - MySQL 与 PDO
我对 PHP 相当陌生,并且使用标准 MySQL 数据库调用构建了一个中型网站。但是,我最近了解了 PDO,我希望从社区中了解是否值得从 MySQL 切换到 PDO。为了安全起见,我一直在使用mysql_real_escape_string
.
关于该站点的信息:
我正在使用INSERT
和SELECT
调用的混合。调用返回的数据SELECT
量不大(使用返回的记录不超过30条LIMIT
)。也不会有很多INSERT
s。该网站目前尚未上线,因此现在进行更改很容易。
在您的专业意见中,值得我花时间将站点从 MySQL 切换到 PDO 吗?还是和 MySQL 一样好?或者换句话说,如果有的话,现在切换到 PDO 的原因是什么?
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 作为标志,决定是回滚还是提交事务。
php - 在 Mac OS X 服务器上为 MySQL 安装 PDO 扩展
我想尽可能将 PHP / MySQL 组合保持为“普通”,但想为 MySQL 安装 PDO 驱动程序。我怎样才能在 10.5 上做到这一点?
php - PDO 的行数
周围有许多相互矛盾的说法。在 PHP 中使用 PDO 获取行数的最佳方法是什么?在使用 PDO 之前,我只是简单地使用了mysql_num_rows
.
fetchAll
是我不想要的东西,因为我有时可能会处理大型数据集,所以不适合我的使用。
你有什么建议吗?