【问题标题】:PDO constructor / php [closed]PDO构造函数/ php [关闭]
【发布时间】:2013-05-16 13:35:38
【问题描述】:

问题是:

如果我从xml 文件PDO 中获取所有参数的构造函数字符串(字符串格式),则失败:could not find driver。 伪:$pdo = new \PDO( registry::get('dsn') );

如果我将它分配给一个变量并在构造函数中使用该变量,它会再次失败。

$dsn = registry::get('dsn');
$pdo = new \PDO( $dsn );

如果我将相同的字符串回显到屏幕并将其复制并粘贴到构造函数中,一切正常。

有人遇到过同样的问题或知道可能导致问题的原因吗?

【问题讨论】:

  • 试试var_dump($dsn)。
  • 也许registry::get() 正在返回一个数组?所以你必须做new PDO($dsn[0]); 或类似的。
  • 字符串到底是什么?

标签: php pdo


【解决方案1】:

随机猜测:字符串仍然包裹在 XML 标记中,例如:

<dsn>mysql:...</dsn>

当将其打印到浏览器时,标签由浏览器解释而不显示。

【讨论】:

  • 它几乎肯定有 something 与 XML 与文本有关。有些东西告诉我registry 正在使用一些“简单 *ML”API 而不是 DOMDocument。
  • 你已经知道了@cHao,但是当我得到包含在 xml 标记中的字符串时,我使用语法 (string)$enclosedpart。
猜你喜欢
  • 2013-08-26
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-15
相关资源
最近更新 更多