问题标签 [dbal]

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 回答
749 浏览

python - python的轻量级DBAL

有人可以向我推荐一些最适合我要求的python DBAL库。我想直接写我的 sql 语句,大部分逻辑都在 db 存储过程(postgresql)中,所以我只需要调用 db 过程,将参数传递给它们并获取结果。该库应该帮助我引用(防止 sql 注入)。我玩过 sqlalchemy,但我认为直接将 sql 语句写入 engine.execute 方法时没有引用助手。

谢谢

0 投票
2 回答
188 浏览

dbal - 使用数据库抽象层有什么好处?

一段时间以来,我一直在使用一些实现 phpBB DBAL 的代码。最近我不得不围绕它实现一个更完整的包,并决定始终使用 DBAL。大体上,一切正常。但有时在某些情况下我看不到使用它的逻辑。这似乎使简单的事情变得复杂得多。

DBAL 提供什么好处而不是直接编写 sql 语句?

0 投票
2 回答
305 浏览

php - 在 PPI 框架中使用 Doctrine DBAL 的 PDO 一般错误

运行准备好的语句以更新表行时,我收到“HY000 一般错误”。查询似乎正在运行,并且该行已成功更新。我的代码和返回的错误详述如下。如果有人能指出我解决这个问题的正确方向,我将不胜感激。

代码示例:

错误详情:

0 投票
1 回答
1869 浏览

php - 数组在“IN”语句中被屏蔽为字符串

使用此 DQL 时

生成的 SQL 将映射到:

这显然是错误的

所以查询是正确的。如何告诉教义映射数组而不将其转义为字符串?

0 投票
1 回答
374 浏览

exception - 生成架构时的未知列类型

我正在使用 Symfony2 和 Doctrine 开发应用程序,当
我尝试使用 为角色和用户实体创建表时出现问题php app/console doctrine:schema:update --force,关系是 ManyToMany,虽然映射信息、注释似乎是正确的,但它会引发以下异常:

[Doctrine\DBAL\DBALException] 请求的未知列类型角色

我能做些什么?非常感谢。

0 投票
1 回答
3286 浏览

sql-server - SQL 更新语句的双重结果

我已经为此挠头了几个小时......这就是发生的事情:

我运行这个语句

从 [dbo].[TMP_TEST_CALL_LIST] 中选择状态,其中身份 = '659303186000000000'

我得到以下结果(单行):

'是'

然后我运行这个语句

更新 [dbo].[TMP_TEST_CALL_LIST] 设置状态 ='Z' 其中身份 = '659303186000000000'

我明白了!!!:

(1 行受影响)

(1 行受影响)

好像两个语句会被执行!

但它变得更糟......即使我这样运行它:

更新 [dbo].[TMP_TEST_CALL_LIST] 设置状态 ='Z' 其中身份 = '659303186000000000' AND 状态 ='Y'

它会给我同样的“双重”结果。如果我使用与任何记录都不匹配的 WHERE 子句运行它,它会告诉我 0 行受影响......两次。

(甚至更)令人毛骨悚然的是,这发生在数据库中的某些表上,而不是其他表上。我无法弄清楚这些表之间的区别是什么。

帮助 !!!

谢谢。

注意:这是 SQL Server 2008 R2

0 投票
1 回答
967 浏览

php - 克隆 Dbal 连接以在重复的 Get_Affected_Rows 上执行插入

我正在使用Doctrine DBAL并想做一个INSERT ... ON DUPLICATE UPDATE返回是受影响的行的地方。似乎您不能使用标准的 Dbal executeUpdate,因为INSERT ... ON DUPLICATE UPDATE并且 affected_rows 是 MySQL 特定的。这迫使您执行标准的准备好的 SQL 语句。

我正在使用依赖注入将连接( $this->connection )插入到类文件中。我是否应该担心INSERT ... ON DUPLICATE UPDATE在这些条件下运行 an 然后执行第二个 qry 以获取受影响的_rows。

似乎没有争用情况,因为 DBAL 连接是在每个页面请求上建立和分解的。在这种情况下,我使用的是 Symfony2 框架,但无论您使用的是什么框架或无框架,答案都应该对您有所帮助。

0 投票
3 回答
2180 浏览

php - 使用 Doctrine DBAL,我如何确定更新失败?

我目前正在使用 Doctrine 的DBAL库进行 MySQL 接口,并且目前已经围绕以下内容构建了一个结构:

这当然会返回受影响的行数。现在的问题是我在更新后执行了某些操作,这些操作应该在成功更新时触发。在当前系统下,如果我要“编辑”一条记录(仅显示表单)并立即点击保存,它会返回一个错误,因为我检查了上面更新函数的结果。这不仅会在我的站点中显示错误,还会阻止其他“成功更新”操作运行。

有没有办法查看更新是否未能在受影响的行之外运行?我可以完全忽略这一点并假设更新将始终有效吗?捕获异常是否足以捕获任何致命错误?

0 投票
1 回答
1590 浏览

sql - 将 SQL 转换为 Doctrine DBAL 或 createQuery()

如何将此查询重写为 Doctrine DBAL 查询或更好的 createQuery() 结构?当我使用 createQuery() 时,“data_last”未被识别为日期,而是被识别为字符串并生成错误。也许更好的解决方案是在 symfony 端进行内部左连接和计算?Doctrine 无法识别 ROUND 函数。

0 投票
1 回答
6702 浏览

php - 使用 insert() 方法通过 PHP Doctrine\DBAL 2 插入 DateTime 值

如何使用Doctrine\DBAL将 PHP 的DateTime对象作为数据库字段的值传递?

$DB是一个Doctrine\DBAL\Connection实例。

上面的代码不起作用,文档很少。

我确定您可以使用其他 DBAL 方法直接提供DateTime对象,是否可以使用insert()来做到这一点?