小编mwp*_*mwp的帖子

PDO返回空属性名称

我对pdo_odbc和PDO :: FETCH_OBJ(以及PDO :: FETCH_CLASS)有一个奇怪的问题,导致以下错误消息:

PHP Fatal error:  Cannot access empty property
Run Code Online (Sandbox Code Playgroud)

这是代码:

$dbh = new PDO("odbc:FOO");

$sth = $dbh->query("
  SELECT rolename
  FROM dbc.allrolerights
  WHERE databasename = 'BAR'
");

$result = $sth->fetch(PDO::FETCH_OBJ);
Run Code Online (Sandbox Code Playgroud)

作为参考,FOO DSN是使用tdodbc软件包提供的tdata.so驱动程序的Teradata数据源.

我相信这种情况正在发生,因为当PDO调用zend_API.h:object_init_ex()来实例化stdClass对象时,字段名称(从ODBC查询返回)是空白的.如果我切换到PDO :: FETCH_LAZY和var_dump()行,我得到以下内容:

object(PDORow)#3 (2) {
  ["queryString"]=>
  string(95) "
  SELECT rolename
  FROM dbc.allrolerights
  WHERE databasename = 'BAR'
"
  [""]=>
  string(30) "FNAR                          "
}
Run Code Online (Sandbox Code Playgroud)

这似乎支持它.我已经尝试了几种不同的PDO属性组合和一堆不同的角度来解决这个问题.一种解决方案是获取关联数组并将其传递给类构造函数.但是,这对于在幕后直接使用PDO :: FETCH_CLASS的某些框架和ORM不起作用.

我想补充一点,其他fetch方法似乎做对了,例如,PDO :: FETCH_NAMED:

array(1) {
  ["RoleName"]=>
  string(30) "FNAR                          "
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找可以放在PDO dbh或sth定义中的东西,或者用于数据源或驱动程序的odbc.ini或odbcinst.ini来解决此问题.先感谢您.

更新: odbc_fetch_object()(即不是PDO)与完全相同的一切都很好.只是想提一下.显然,PHP,unixODBC或ODBC驱动程序似乎没有任何严重问题.它是PDO代码中的一部分.是时候打开一个错误报告...... 打开了

$dbh = odbc_connect("FOO", NULL, NULL) …
Run Code Online (Sandbox Code Playgroud)

php odbc pdo teradata

22
推荐指数
1
解决办法
1758
查看次数

如何在 HAProxy 中设置动态变量?

是否可以设置一个动态变量来保存 HTTP 标头的内容(例如 Host/X-Forwarded-Host)并稍后在 ACL 中使用?

frontend web1
  # ...
  set-var s1(Host)
  acl site1 hdr_end(host) -i %[s1]
  # ...
  use_backend %[s1] if site1
Run Code Online (Sandbox Code Playgroud)

linux haproxy

6
推荐指数
1
解决办法
2万
查看次数

在html <button>标记内嵌入{{link-to}}

如何在html按钮标签内嵌入链接?

这是我试过的 -

<button {{link-to "posts.show" post}}>
  Show
</button>
Run Code Online (Sandbox Code Playgroud)

获得未出错的错误:没有命名的路线

embercli@model:post::ember506:6
Run Code Online (Sandbox Code Playgroud)

htmlbutton ember.js

4
推荐指数
1
解决办法
1115
查看次数

标签 统计

ember.js ×1

haproxy ×1

htmlbutton ×1

linux ×1

odbc ×1

pdo ×1

php ×1

teradata ×1