从 PHP 请求名称为分音符号的 MS SQL 表

Posted

技术标签:

【中文标题】从 PHP 请求名称为分音符号的 MS SQL 表【英文标题】:Request MS SQL table with diaeresis in name from PHP 【发布时间】:2017-02-23 16:52:19 【问题描述】:

我们需要从表名中带有分音符号的客户端从 MS SQL 服务器检索数据(这是不好的做法)。 表名是BE België$Cities,我们不允许更改表名。请求SELECT * FROM [BE België$Cities]返回一个table not found错误。

我们如何从这个表中检索数据? 我们使用的是 SQL Server 2008、php7 和 Laravel 5.3。

【问题讨论】:

您是否尝试过在表名中使用反勾号??访问此链接:***.com/a/10443100/4952944 亲爱的 Gerard,我在 ssms 中使用 :SELECT * FROM dbo.België$Cities 通过 SSMS 在 SQL SERVER 2012 上检索数据没有问题。这可能与 sql server 和 PHP 之间的排序规则问题有关。 服务器是SQL SERVER 2008。 【参考方案1】:

也经常遇到这个问题,所以我给自己定了一条规则,在表名上始终使用反引号 (`),这应该可以解决您的问题。

你的情况

SELECT * FROM `België$Cities`;

应该可以。

【讨论】:

在使用方括号的 SQL SERVER 中不使用反引号。见:***.com/questions/10573922/… 用反引号替换方括号不起作用。我还添加了名称还包含空格的问题。不确定这是否重要。

以上是关于从 PHP 请求名称为分音符号的 MS SQL 表的主要内容,如果未能解决你的问题,请参考以下文章

sql搜索包含变音符号的字段

带有变音符号的 xcodebuild 目标名称

带有德语变音符号的 iOS 上的 FacebookDisplayName

mysql查询选择喜欢带有变音符号的土耳其字母

有没有办法在 robocopy 脚本中包含带有变音符号的文件路径?

带有变音符号的 Unicode 字符串,按字符分割