2016-07-23 99 views
1

我目前在我的项目中使用pdo_dblib扩展名。 当我在PHP 5.6FreeTDS Version 7.0设置config.使用这个时它会给我唯一标识符string。 当我在PHP 7.0.8下使用相同的脚本时,它只是给了我一些乱码。 我不想将它投入SQL或稍后在PHP转换它。因为有时它可能是结果中的唯一标识符,有时不是。所以我需要通过完整的结果来转换uniqueidentifier。PHP7 PDO_DBLIB uniqueidentifier

那么有没有什么解决方案可以在PHP 7.0.8上工作,就像是在PHP 5.6下一样?

+0

你的脚本是什么? –

回答

2

如在博扬的回答中提到的拉力要求解释的, PHP 7中的这个问题的原因是您必须指示PDO将GUID从二进制转换为字符串。

这应该对任何与此有关的人都适用。

/** @var \PDO $pdo */ 
    $pdo->setAttribute(\PDO::DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER, true); 
+0

这真的有窍门。非常感谢您指出这一点。 – user2432612